{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "skip"
    }
   },
   "source": [
    "<a name=\"top\"></a><img src=\"source/SpinalHDL.png\" alt=\"SpinalHDL based on Scala\" style=\"width:320px;\" />"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "  Before running Spinal HDL code, be sure to load SpinalHDL Libraries  \n",
    "**Note** : This may be a little slow when the first time load, please wait a moment to download Lib from remote.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [],
   "source": [
    "val path = System.getProperty(\"user.dir\") + \"/source/load-spinal.sc\"\n",
    "interp.load.module(ammonite.ops.Path(java.nio.file.FileSystems.getDefault().getPath(path)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## AMBA-bus\n",
    "### apb\n",
    "\n",
    "The AMBA3-APB bus is commonly used to interface low bandwidth peripherals.\n",
    "First each time you want to create a APB3 bus, you will need a configuration object.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "slideshow": {
     "slide_type": "notes"
    }
   },
   "outputs": [],
   "source": [
    "import spinal.lib.bus.amba3.apb._\n",
    "import spinal.lib.bus.misc._\n",
    "\n",
    "class Top extends Component{\n",
    "    val apbConfig = Apb3Config(\n",
    "        addressWidth = 12,\n",
    "        dataWidth    = 32,\n",
    "        selWidth     = 2)\n",
    "    val a = slave(Apb3(apbConfig))\n",
    "    val b = master(Apb3(apbConfig))\n",
    "    b <> a\n",
    "}\n",
    "\n",
    "showRtl(new Top)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Mem read and Write"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Top extends Component{\n",
    "    val apb = slave(Apb3(Apb3Config(8,32,2)))\n",
    "    val slv = Apb3SlaveFactory(apb,1)  \n",
    "    val regs = Vec(Reg(UInt(32 bits)) init 0 ,8)\n",
    "    (0 until 8).map(i=>slv.readAndWrite(regs(i),address= i * 4 ))\n",
    "}\n",
    "\n",
    "showRtl(new Top)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Apb3 address Mapping"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Apb3Decoder \n",
    "it will decode out multiple PSEL signals\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "showRtl(new Apb3Decoder(Apb3Config(16,32),List((0x00,20),\n",
    "                                               (0x1000,1 KiB),\n",
    "                                               (0x2000,1 KiB))))"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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n1LPUe5YaqY6HTBv8DoBacUYAoaAIWAINAYByJo+424W06y7+e7btRsChoAhUBAE6IfmVy7oyQwzzNC0CGYFgSWqhpF1BIWtGAKGgCFgCLQKAZzXspy2MIM30rmsVdee57xG1nlQsjSGgCFgCBgCDUUAEsbru5xMnTrVz77VjAhm5erRimNG1q1A3c5pCBgChkAXIfD11187iLaTBS9yYqJLmLFr+eWX12bNS3MwqxlCK8AQMAQMAUOgHAKdTtRc+6yzzloCAdOf1lOMrOuJppVlCBgChoAhYAg0AAEj6waAakUaAoaAIWAIGAL1RMDIup5oWlmGgCFgCBgChkADEDCybgCoVqQhYAgYAoaAIVBPBIys64mmlWUIGAKGQBUIMNPTiSee6OdOriK7ZekCBIysu+Am2yUaAoZAsRH4yU9+4saOHesY7rPIIou4/fff3917773FrrTVrqkIGFk3FW47mSFgCBgCyQicfvrp/sC///1vd9FFFzkies0xxxxu++23d9dff33Xx8ZORq179lpQlO651113pYzt/Pbbb6PrZh7ccePGRdudsPL999+XfMSJq7zMMst0wqV13TWgXf/yl790Dz/8cHTtTF4BUfNDtttuO/fnP//ZTT/99FGaVq5MnDjRz2+dVYdf//rXWUnseAYCRtYZANnh9kUAouYXhibs379/+15QQs1pkDz99NOOCFGShRde2M0yyyzatGWBEXj11Vcd94vlmWee6d55553U2q666qruvPPOKwxRU9HnnnvO3X777e67775LrTcHjKzLwpProJnBc8FkidoVgZCo2/UaytW7GyJDlbv+djkGGdMH/eKLL/oqr7POOn72qIEDB3qinjRpktee41GwdH1HHXWUe+qppxzad9Gkb1/T+ZpxTwzlZqBs5zAEDIGuQABSxrMbU/ZSSy3lzdYQs0zbJ5xwgo8XDeli0l5yySW9Zj377LN7CxDpSC8h3XXXXefN49rXLkuuadlll3WPPvpou1S50PU0si707bHKGQKGQFERoD8ZR7DXXnvNE/Q999zjbrvtNnf00Uf7KjOJA4S87bbburXXXtuTNASOQMBZssEGG/j+6Xpp0x988IF7//33fRfJT3/606zT13ycWbT2228/N2DAgJrLylvAjjvu6D799NOS5HvssYe/ByU723DDyLoNb5pV2RAwBJqDAFoyJmr6lX/3u995MzY+Ag899JDfJ2KGhCFvCBaSJr2IGcLKK3iC4zyGBo7pO68w2xNe46GstdZa7rLLLvO7ttxyS/fyyy+7N954w2+feuqp7phjjnHaH+Z7/fXXo/2s1yqbbbaZq/ekFml1Gj16tHvrrbfc4MGDfRK6Dvi9++677rDDDkvL1hb7jazb4jZZJQ0BQ6CRCEC09Cez3GKLLXyAkpNOOsmf8pBDDvGOXfQ5Q6QQMks03hdeeKFkGsRap0Tk/DQEcCarVCBiCGnjjTd2V199tbv88sv9uG3qeOutt/pjaPoQ5/jx433xn3zyiV/utttuJafT/pKdGRs0DippmGQUV/XhxRZbzN13330+/7Bhw9wFF1zg7r//fiPrqhG1jIaAIWAINBkBkTLEjPl6+PDh3rFLWinaMGQNEbNcbrnlPDlTzVdeeaVHbWsl53iBNAxqEcZlM/yL0QCQ9ciRI6Pi0PZXXHHFaDtcQcvuROF+I5jC211Ms273O2j1NwQMgVQEzjjjDB8ZDMcvTMuQcejAte+++3otVscgNAQNsQhaYuqFZRzAVI+su+66boEFFvCa9YEHHujJ+6CDDipxWEMjX3PNNX16HN5kOs84RWEPYwYfMmSI+/jjj30djz/++I7os7ahW4V95KxihoAhkIWANGXSETgEIp533nl9uE72MQYYJzD6gul/lnc1/ZgM61P/MnG5MRFXY37OqmMzj1955ZUO5zGIeejQoe6AAw5w9BljWmcbczgYYSbvdJl77rn9JV5zzTXuhhtuaPvLNc267W+hXUA3I0DQF0jqo48+imCgfw5P3FD4YENG7So4eaEtoiFzHZixMV2LgPF0Zp0f2vMqq6ziL5VoX2jLYcSvdsYh6/5tvvnmHh/M4KHHN6ZxRUfbZ5993Mknn+x22mknX9wSSyzhHnvssayiM48zRCscpjXXXHO5P/zhD5n56p0g7LPmuujDx8KCV347i5F1O989q7shkAMBNMiQzHNkKVQSvLDPP//8qE5ow2jIkDKOUQsttJA/Rn9vvM+XNEWQ3Xff3Y+pxrTO+ONGCX3W8X7p0047zW299daevNMi2+FNLgnzp+1X2jxLCJwJSlohWFk6RYysO+VO2nV0NQIzzjijmzx5siNWeKcJ/Y+zzTZbRNAyVWPabRdB48UMjYc5DYyDDz44GtrV6Gt4/vnn3bHHHuvQoCX040ros15ppZW06UiPhPvJW80wrjvuuMNbfi6++OKo/GasnHPOOd6z/6677vKnGzRoUDNO29BzGFk3FF4r3BBoDgJoa2gvmMA7TRgqxa+dBc9y7hF97PSh8+OaIO16XBvaMCSLg1hcbrnlFoeGTDfCz372M59GGice4/Ex0JSVtD9ebtY2w780AUlW2nofp59asssuu7g//elP2mzbpZF12946q7ghUIoAH2D6pt9++2335Zdflh7MsXXhhReWfFzpcww9h/faa6+SPskRI0Z40yqBNcJxufIoZv+cc87Z9t7FOaDLlQSTvLy0ycC4bX7sP/LII31fc9i3nqvQIFFovg52+1WOJR0P+7XDPGn7wzRaz5rEQ+masWRMeaeKkXWn3lm7rq5AoE+fPm7ppZeOZj1Ce8PUiibx5ptvVoQBBP/444/74BGff/65J2ackR555BHvVYwn8Z577ukWXXRRN2bMmEgjIzIWMs8885Scj/3xfSUJ2mADL3J+4EpfOQ5ubEO6ctqiP33s2LHe6Q3SJZ3GbRPrm8aT8iRdMmXSpw3OOMS1k2BexsRv0ngEjKwbj7GdwRBoGAK9e/f2ZB1OkTnDDDO44447zv3xj3+M+h8rqQDe0mhhOCbR14kZFeKl3xJimnnmmXsUBynXw6O4R8EV7oD48AhH5IRGnRUcA3M0muyGG24YlUycbvKF469xysODWOFEIWb6yJnGkuFREvbj8QwZI7vuuqsO+SXH0ZbxSIfENetWmEhTX6ovPjxW9HWsL1tttVVmNeOm9swMlqAHAkbWPSCxHYZA+yPA0K1DDz3U94kqOESlV4V2jdDPifaOZg3JEUhEw35UJt7mkDuy2mqrlQTdUJq8S7RWzMMSHLIgPGmr7Ic4IU00UiSJTMmHpvqXv/wlIkmRpmbBEkGiOYtYNeyLvmSGjCEKloLmLELWPjTnuCQ5v5E+JGsaE8xP3clDyeK42Hb1CBhZV4+d5TQECosA46/RrMO+5LyV1fAnTOJrrLFGZO5Vn/XOO+/s8O4NNWk8h+MaZ97zxdNRdryspCFYkB1Ep2kmKQeTLDNcQYwcRyBsSFfEzL74POekjRMsmjC/UKhHUl3CNGnr0r5peED6TNRRSx912nlsf2ciYGTdmffVrqpLEJg6dao3UePko6E533zzjTv77LMr7rMWZJAa43XjGjRhKAk+gokdb2HIW6EpIfWQvFVWNUvINanvNk6maL5xT2rM3HGJE278eDO2IWq0asZZE9pUDYlmnLvac9DA4fmS8FzRCKxGwnKqyd+oPO+8847jJ+EdWnzxxbVZqKWRdaFuh1XGEKgMAcZV05+MoxkfGvpmIYNqvMF1ZvVZa5slQ3/ox5bHOWT92WefhUlsvQwC9KPHZ+gqk7wQh2gAQrK9evXy9enXr5/j10nCXNvPPvtsySUZWZfAYRuGgCFQbwTQehlnDaHGw43Wei71F+NIpmho9AlLMJmHw30UQCPcT783zmrdKKEJvp2uX0TdTnXu1LqaZt2pd9auq6sQQKPGKauWCGY4hp166qmJgTWIeIW5kMAbOJmFTmQhaYegx/cThczEEDAEqkPAyLo63CyXIVAoBCZOnFhzffCG5pckce/vME3aXMhp+8O8tm4IGAL5EDCyzoeTpTIE2hYBTJlFDk5C6E3NloXjVVqDoW1vgFXcEKgDAkbWdQDRijAEWoUAfdM4hIVBUehfTptdqVX1LHdeAo1oWBPjnRnfTSATZtvCkxvyZjzybbfd5j2q2WZolsY5lyu7GceIf21jpZuBdHefo3e7XD5xi02KhYCCYIS1+uqrr7zncLivknW7z5Wg1RlpCSryyiuv+HHO99xzj78oSJphWZC3+rqJFEYoVSKNaYIInOkYZsY+hkbRd3/iiSf6cdoEPlFQk0Yidd9997mBAweWxP1u5Pms7O5EoISsmc6MD3DRPphrrrlm9HLqNkEK1JVjhx9+uHbnWnKdjBFlogHWQ8kqF2zIR355vCp/uXJJSz2pb7PwxTu4Goz4yJEPLBA9F+H1ci2Eorz66qt1+X5JQA15DpccyLHB8KADDzzQnztHckvSQQgQaASNWV7TrEPcjK2GfBFts0/Oa4yrDsdRo6FD6EQ2U/hQAqzQFcCsZIp4hpZOuTzrhBqtRQjCQhmDBw/24UkV2rSWMi2vIRBHoISsDzvsMP8BVqs1nrgV25AbEgZcgDRWWGEF//Lyct9+++2eQPPUD5INA8+zrtCDWeVSF1r3iy22mJ/kYJNNNolOWa5cCI20b731lve0bQYhQbR8RBQJivldhWVU6ZQV6ks+YkBD1GDExA3h0Jy9997bew7HHY9ee+21qvtHGcfLRBGcm4aGiSEQIkC0L0icn4KKDB8+3BM6BA5p85OWzj7yYC6Xlo6mjvDNkJauuZYhc+KqQ/IKdwqh06deTksPzfHEE0fLVv6w/kVaJ+Lc6NGjy/5qGVlQpGvtlLpEfdZoUgiRiDSOstaLhDAY5qEp8yotD+2NujAbTSiE6QsnDtAMQaThOmiB33jjjX68KS8ZEZfoUyLGMcEcmJHogAMO8IRAQAkmKOcDkFUudSHoP6Sy3HLLOcIuiujLlXvyySe7tdZaK4r2BKFRx0Z6y0K0l1xyib8ucIGo895XES6aLg04CFSRqrgnmuaPa44L5+BaNW0i97+S6zziiCP8PWI8LvfIxBCoFIF4SFARfFgOEdLiMb5plIrMWUpLVz4akJjaeaY5Bw0DvgdhvG/S4ixHGrR+GhNqWKicVi8h6lNOOcVNN910ZatCmplmmqlsGjvYPAQiskab4WGl/0faWK3VgDAIWQipIfrg5ymXF4PWL5Oz0y8lQftlQoG//vWvfhfkIdLgGGYu6g9B77///o4p/iAPPvwQCFGeWBeJ8+Ci8WaVS5mUA1FjxkbDRv71r3+5kSNHppYrkzcPPtfEuQkUodCQuq5GLPlIITSaIFGCUuQRES7mbBpF4X2jYcQ9pQFC4yYMcgG5gycCVsSlBjfuSXgPy9UB7R1saonAVa58O2YICAG9H9qWuV3bLDW9JeuQLj9IGFO3iP3BBx8Ms0TrmNr5zpx++uk+zGh0IFiRkqRd4fh1vhfnnntu1DhG4dC368knn1QWv2TeccbAs5/1pJnRlIGQoRB16JSoY+EyHj89PGbrzUfAk7UeGGbpSYrJW65akFH4YY0/KDKTVkrYPKQID2coN910U/Qx58MOmQwdOtSHXJSZFqKAwB999FFPUCIbtGgIC5M1x0gHMa200kquXLlM7wYJ0ZiRhkpe9mGGh7jTylWXArhCXKTDetFMoZWPYKLLkpBwSYsFIBRhCVnTHRCKNG76E9Gmea7o137//fdzk3VYnq0bAq1GIO51jjaNshAKFrs777wz3BWtY4Znrmu07SQNm28CwneMbxHvC4FpaODSjaVjLPmW8D2EkEkXNviHDBkS7WcdpaJaIdxmpXOhV3suy5cfAd9nLRLho4rmBAnx0c4jEBX59Utq0a288sr+wYIgZTbOKpsPPw9wklA/zgsp0JeNBhem3WyzzaJsV111VbTOCoSNmXfEiBF+mj/KojWLZJWLpo9J/x//+Ie3QPCy6KXIKhd86DdGE+WllCNNSeXqvIFGrcYF5jo1ZsqdRoRLwwQ80A7iIkKnKyAUYh+DSWj2Zpv4uyaGQKcioHdG1wdBowXT0EU7RrNOImql59vFd4zvCu8L3woa97x/vIcc4xdvOPNOYxHkp++QyqxliVUSBaaZQuNg2LBhjoYGP/x6uGaTaQj0RfvhoUCq8eLlQSknMhnzQKofuVx6HYPQQgLWfpY80Oo7hvwxK8ssDpHQz4r2yn7IRto9edFsZbrFjEs6zGG0VsuVS15M8rRsIUGIG+1aklYuxymXF5GGTGjFUF4wRLOvxFysvGlLcJAZW+dOSxvuF+EyaxPXiPNNiB9pceBBaISFor5u7ePjwj3MawInH85tPI9bb721irGlIVBYBOivlgJCA5x+cIhaJvJKKh4qOlIgeAdpFPMOhscpV+8h6/Uka82FPm7cuEqqX3VaSPqCCy7w+WWte+qpp7xjYF6n2KpP3kYZ+9KKCx2I+MjTqsL0W6tgbsYcjVkn1LbylJtG1AsuuKD/mOO4seiii/pWKITLw0wrVgQFUWD+DcmGMtGAIUy8mzFn8TIgWeVCuJihMPmrhUs/NFKuXDRxGg14niJo1zQmQgKj0SDTWqU4+UJjf3w86KuH9KibzODciyztOiRcLBcanhUStqaUY7aaSy+91OEZTrk0sGi04EHOj+sWvrEqpm5yv+jWyKpnagF2wBBoIgI8r7y/kDROZ9UI7w3fJPqceWf5XqJA8J3g/dH84QSKCUlZXYt8m7KUprR6LbTQQpFPUTwN/dqN7re+++67I6Im/jzfGawQaNX14KD4NbXzdm8+5iIdLoTIR5AfjlO1Cs5qDJ+ohoAgOR7iuHAzeZgxqUOaMoWTDvMNZMGNphWK8xmili9kxXEaKEzvR91kMi9XLsQKySLkpW54qItwy5VLHy+NIV46zGVYANBaQ8HxDVHwh/BYNevcO+4r91Ey11xz5SJA0onc0fQpQ/ipLO2n35puE8zcWBvAli4Jri+Or/KWW8r7P0/ferly7Jgh0CwEUBowc1dL1Kon3zLeHb4P+l7yHvGd4ftBwzdu+SQtBI+VsVrB23vQoEElv2rLqiafHHWlxKi7AI16o402qqbIjs3T64dGN52qhA6CYLxjNVp5ladsSTasATQy0Gi7uY8G8zeaAh+gUIuv5aZMnjzZTZkypZYiCp+XOYfRTkLPXj7q7RRutPAgN7CCWJBoWMfffRq/odkb8oKwIWcipmHxYj3UtNHOk/bHq8/4asK38sxA1Jihk4Q6NJIe6KcmXgamb7rfWiEoG6FfDo0FKSuV1oehfiiAEhz1qjXjv/vuu/5+qyzuczR0SzuLspQZCE027mFelDrWWsYw1m8AACAASURBVA9eLq6Pvm+Z1mstsx3zQ9Ro6fUk6nbEwepsCAgB+nD5JkAcEApEjbmbjzZkjRAtUEI/uSTcn6frS/mavaQxYJIfgcKSNZeAGYjhZGELM/+lFT8l5i6ZvIpf28bVEE163XXXjboVGncmK9kQKBYCdB3NOeecPSqFgxlkTWMewY9D3UN0l4VdXMqctl/Hk5Zog7///e9LDqVp2iWJ6rARftfThrbV4TQdU0ShyRqU1S/cMYjbhSQiYPc5ERbb2eEIaGRK/DKxLMZN40rDiJR4/InwmNbzLJkHHbN4XNjPj/CrjRLMxJjACUpFg4HIkibpCBSerNOrbkcMAUPAEDAE6o0Ajm6QJ17ujRaiTOL1TjwMzP3EZ0fQ+AlIwzGT/yJgZG1PgiFgCBgChkCEwNFHH+216mhHA1cYYjp+/Hh3zTXX+ChwYSQ4hnKZTEOgbcia4Cpppp9pl2NrzUQAB7l4nztOI3i2h16qldTJ7nMlaNU3LTEWQkm6h0oTP6b9ys9wvrBrQ8+FjrPMKiN+PMxr641DAPN3MwXtmR9m/2eeecYtsMAC/tnATG4yDQFP1rxIiiDDIRwVikSMcn8P66Q644RB5KD42OVpl5i8ppjmcU/zrHLJx8QdOIUwQ1QYvEPBQBhjzPhvjeGmBgQtIIAIY60VkD+5ZvXdy9AwxXuPE2vamRg2F04IwHURTIaoYrpexkQzNpJgMuFQKzxRGQNfTZAGPviEGSTwTN66pl1Dt+xnUgaC9YQxCe6//35HFKpQeBZDj+HwmNYZ8kVQDryOteQe6znmnioMpWaui+fVNmXgPKU+Wb4vDCsKhTQKhMH+rPOHeW29egSIrjZp0qTqC2hQTr7z+tY36BRtXayPDc44M14kiI8fH8yigKZ6hM4WfDSqnc8abRDC4RrxtAw9ErPKpS4M4scpAkIq8nzWPJVEkGMyAN3bvE+qzWedF6n2SMdY2ZDMy9UaL2PeA0WeCxvBNDYhWNJogpqwLPYz9pcfwxGJyqeAP0qnQB4sEcbWh0F3dH6NVw3PrzJsWRsCWD3A/9prry37s7H6teFc79yerEeNGuVfQgiRHy9M3pe7XIXQUiE4SKMaUUQrYoqHguODAgnwMvNhQPNDIGPOiUaJ8CFgG40YoTFCa55rpIxQssoFE6IFcU7KQPugfH6MZ0TbIGIZ5+KjxjzZCGOIqSNaBsc5N/VopPDBRcNHM6IulQz0V8hRNF3MU2E4Wu4JeLIvKX43GBHhjY806bgflQjWCnCVRlZJ3m5OO+OMM7o+ffrUDQJp0+F3AAJHW8aSxbhfnrG4YLrmx3POc8d7qXeRtAMHDvTHscaoT5LGYVykwcf327Yh0K0IeLLGNCvi4sXhBcWMW6ugtTL3MURWKWHzgvNxSJvPmnIRyIPy+cDz8SAUJvUnKhhkgwMD5CETOo0RPhSkCWe+Ii+aQFq5Cl7ChwgyhoARQnti4uPDxDkg7m222cbXhyEJaiRoPmtIjA9d+BH0BdX5D+sBhDfffPP5umhigDynoW5ghlmS54IPrwSPTTAiTdxbFLy5D1gdNHYU3MKPtcpJW1JvsAynXU1La/unIYBpc4MNNnD9+vWbtrPKNe4jjSzuJY1MhOeabZ5fYsEjaNrlRDO3MZtfkvAecq9pHEp4rji3GpdhKGSlsaUh0I0I+D5rEQcfSl5INL+8fYaQUfhhjfcBqz9TQefDD385wBsxn7XOJ1IJp3js1PmsiXbEBxHyzSPCRmnjFgDdPxormiFHaTVVIA09nh8+upjgbT5rIdTYJQ5dG2+8sWOilfCdrOSsNCRppCGhRYVGPM/R/PPP7ydYYJ3GdDkzNY3VckIDme+NFAWl5ZmjHliqGG9sYggYAs711guDSYp1XhBeFGmEWSC123zWXI9IJT7FIx+OcvNk83GC9NplPmuulf5DJPTM9TtS/oSNtKIwbq6yiNDDxg7HNL1m2NDjo27zWQu5+i8xfWOaBmekf//+voHEbErVCA11vgP81DCjHKwlCJYqkTnvCxp3kvCMYAKnXmle3WeddZbPGjq+QdxYv4jYhV9JWvlJ57R9hkAnI9CbaQ4RERdu85WIXmwt43khfRyxeAmZQSZvS1nafrw8tvkA0HcMKfAy07iQ+ZqPBP2sfHT4mCSRjUgFS0Io5colHSZ5fcAgbpkIOcYHk48MZWIW5/y6VsqF4OkHVB8uYVQlYMf+SszFypu15IMZ11zK5RE2aEzUmykA46J5dPXM6Lj6urWNhsS58zYUyIcGx31L6g9XubachkDv3r1LyJojjOagGyjemJqWq7I13ROef73nmumJYxKZsOmakmc3PhOh4JjGs445ne4r3hN1UYXp+G7w/HEdJoaAIeBcXzmXYQamPxIS4iVJeoEqBaxo81nzgSA6jxoCOEBpGFUnzWfNBxUTJgLxIVwrH8d4A8UfDP5CwsWcjRmbD7K6M0hq81kHgBV0FYezI4880hHggmhQeYUpUuOC7wPfBN4fCdoyRCuNW/sVy5rG6yWXXBI1WDlOGXxfJEkz6un8NPB4/igPcg+tNcpvS0OgmxDoC0Gj/ahvktZzPYgaEDWftTTMSoDF3Bz/EJAf0oAseIkhFvWPcoxWOB8JeRLTwkdDRPvGuxSiRkJNU5aEcuXy4UBDoCzOi0aNh7o0RkgQZyuOcX6GneiaQ02c8ybNLMVHEOc2NKJ6SOjQwwdVkmcoBh9LeeLirMdzAX4hWWu/vNyT5rOmnBAH1aHckvtFQwo8TWpDgPHX4Dh27NjcBdHISxK9T/FjWJIkaXl1HLLNItx4GXnyqHxbGgKdjoDNZ93iO4zpm0YGDY/w49fiajX99GjvzZ7Pescdd4wmMaBRoonvhwwZ4j7++GOPAQFlll9++ZrxoLFH90y9hfm6KZt5rdFckS222MJrtZqggXHWjHygIW5iCORFgKG3jZzPOm89GpkOZTXsKi3yfNZ+6FYjwai2bDRTPm5oqzw0nSiY9whagsiy0YnXmXVNEDVaepLVIStvLcc//fRTP+MPXsv4U0hE1FnezEqftaRRQOzjRsj333/vHbnU3TFhwgR35plnRo2QRpzTyjQEDIHmI1Do2OCYnW0+6+Y/FM0+Iyb2Vs5nzRA0Qqpuu+223roBSW+66aaeyEMs6IOF1BdZZBG3zDLL+PQ6fsMNN7iXXnrJvf32274Bhtc0grVEGi4aMLMMzTTTTH4/w+oQxsBvtNFGfv3rr792w4cPd6ussoqPk/zFF1/0mG/YJ0z4GzdunKNMuiDi4UYTktsuQ8AQaCMECqtZC0P1C2vblp2JQKvuM0Q9aNCgiFAhXfZByKGgHWPpQRsnMh2BQSBvBBJm+7nnnvPHSYcpHWFiAsifH9o1GjDnYDw05ZAHJ0fKQDiOlYF4BaRXFDx/sMwfpE6Do9mTMJSpkh0yBAyBOiJQaM26jtdpRRkCqQgwhy5T87355pvuiSeecHPPPbcjIlgoDLuDsNGAP/zwQx9hCy0bDZqJMyB4+oQ5jjYtZz6Im+OY1hkWh+CgR3pty0xO2lAYkphXjKTzImXpDIH2RKDwmnV7wmq1bicE1ltvPV9d/COQ9ddfv0f18S1gJjI0ZkJhoimjZSNy3EJDhvh///vf+6htPQqJ7aAsfpjJKe/FF1+MUtBgwFzOr1bp1auXm3XWWWstxvIbAoZACxFoG82aIAn1GlLWQrw76tRJ419xBsSzPS1qVRYArbjPeHuj6WJyhjQh7wceeCCqqjRpCHSPPfbwfdKKXU0itGlmgcMMffPNN3stGuImEE65OXnjjQK8ueUoFp08Y4W+ac5FX7eEgCTS7LXPloaAIdDeCJRo1njlMtZVsyUVxQub+sSn5KNukAXHqHNeYcww+cJfOL4zq1zIhHHRBHwJ83F+Ptbs5zjroZBW2FJGM4TzUJ9qMdL951rAK7xerkUBU8JrYT5rhaMM9+dZJ/ocISY5V7OFfmuIGtKOD9WCrDn2i1/8wjuVYf5mW0Kdd911V28mx8GL/mhE+Ckd5SCQPkKjAIczzOH86qFF+4LtzxAwBDoOgYisIRjGuSo2NCbBMLhGq64cokHCMciQRrXzWaM9QTJcn34Md0GyyqUu7TSf9ciRI/00mQSYwYGJe5xHaLSBDbOmQdTECR8zZkxJ9DMcqohAFQZLoewwAlqec4Vp0MaJvMa5GxF6NTxXfF1D6ESk4XFp3oSRxWx9xhlneFJXGjRr+qQJQIMZnHSDBw+OSB+Sh9zRxnmOGVqF0HdNHszgmpJSZdrSEDAEDIEQAW8GR5Mhgla9x7miWfCBgiwUySs8edY62hsRrcIxsOQJ551mm4HtinbGtTBmWRHG0KQJOoKpEDM6jREmCUiKypRVLnUhJjKkQtxlGjeUjxAtiklQOAdEQ0xuGgaMF1ekL2EAoVHHrIhOvuAa/sJr5JzUKY+IcBVnPZx9iXuiBl1SpDEwIsIbDQMixnH/K7lO5rOmXOre6G4PLA/SfnEUI9a5AqOg8aL5SstG88WLG2GIF85oyiszOCZsvL/DfKSnD5uhXgiNTDRoyoO4ibMOUeu8nI9nmYZSHiFoBQ2F8ePHR8lfffXVHlo6Jvas4Vy8OzSUQiFCIA0UrCVhdEClDfdxz3nGaPTGw9oSvY/7SsM4tLyQP+m5ZD+N6jAt9QojFob1tPXKEOBZJcpdOWF6XWLPmxQDAU/WvKAQWFxLqrWKms+60ukxOS+ERxxhnHfCYT18CNSwIB3kIdLgGNoK1wNB88HlIwx56MMPmTAOFe0xHNubVS5lUg5EzUceDRthPms0WD6GnEONA14GtCmZvDWfNWnw8lW0KV9Ig/4gE4gXcuWcaMJ5RITLh5KPrBoZ5KVhxKQpNEBo3IQNAshdfa5gBVmDG/ckvIfl6sBHHmyqneKxXNnxY/H+ZBEz6SDUcJt9kLQknhey5SdLkNJpGebVPtImpY+fV+mTlgRF4d4qkAtpGOsdEjPRzVZfffVcc8pz/2i0I0ziAmFqUpWQVGls6l6rXhwPQ/myfv755/ux35Sj5wVLDZYezsN9Jrwts8PxXuMRT5hihd7lHHybFAK3knnZVS9bliIApnyPpptuutIDsS3SWNdMDJQWbvbVB1YerZXWBTIKP6xFns8a8uIDAolANvyYGpRGSifOZ73LLrt4rYWXE+04j4ar50HPQTyymogb7OjfDUUat7QftC8+0jafdYhSfdfRrAk5Onny5KhgnM1CsiZN6IAWJUxZGThwoG+UEoOfhgDvhjRgGtE0vGjQYcLnOA1dObQR1jQUGrf8aLQpNj9kjOg8rPOsQNZYwEiP8CwiEHWeZ9cntr9MBNCoIeqsZ6LTQ41mAlWwBL31gY2/ZHnr2U7zWaPpY3rkh6cuEk4BCal10nzWaL18SDHPY33gg5gleh5sPusspIp1HLLs169fXSuFnwKCZo0VivcDSw1WKQSrFsI4cvZzXM51/sD/CBcnR45BxNUIRC8rBM+zSWMRqHYu9MbWykrvK3MTfWdq0VYCS9bLI5MxGq36kfOUT8s9NKmFeTCTqu8YszOte5nuaI1jSlOrnyDt5cz7mMQl5colDdYHzNho6EnzWcskjLmP82vmLcqlcUBjQYQZn88a7aUSc7HqnGdJX6LM9lnp6UulvoR65RppzMTxs/mss1Bs/nHImr5lhTCtpQZhPzHvUtj/jB8GXSEIfe08K3QDMQ0n63rmOc57SVkQtfw5aqmX5W0OAljN/vjHPzbnZHaW3Aj0pcXMS8YNYm5rBO0K7bNWoUWNRpc0b21W2WlEnTXvtPpZMd/i3BSSjYiSc8u8i2cvklUuGDF8DJO/8tKng1BX+usoH20Ec57m7cW5jo/WSSed5NPSV8cHMOzDhdzJg9TD3IepktmiJKovjYEskXMZ6TBnY8ZGkwoJ2+azzkKxNceJukZM83fffbcmb3q6hjBRM/WpnlP5EvBtkE8DVynzOCbu+DtLg1XvIY1FGo0qrxKE1K1SSR5LWz0CdKGgTBBr3qQ4CPTm5RkxYoR/6XgR+VVrEo9fluazroaAIDk+CnGBNCB/PGb5EPAiq2Gh+azZRouVmQ7tG22Y9PpRPl7m0hrKlQtGit2MSU559eGhQcJHi2OfffaZn8dZQ3Ho46W/GPIGWywAaK2h8BFDZOUIj1Wzjqaj62TJ/eRaVd9yZWJpoJGDQO58cOXxrnzaTwMPLStpPus4Dspbbsn94p6rAVUurR37LwJ9+vTxzx6NSWTGGWd0Rx55pB+tUC1G6kuOPy84DXJ/0JTVeJN5nP16bsLz8h7SqCWPnDylmctCE6ZPWic9FjN+WZa8pPy2Lx0B3vetttqq5KfUWQ5oSmfL5iBg81k3B+fUs6AF23zWzmvvzZ7POvWmtNEBPL3vvvvuEmchrEuYxS+66CLfqMVRiAZblhMpliEsKXhmJ3WJYWHhHtEwEGny/DJGHTLGKqPGL0s0bTWkZWWj0Yo/BBKWk3RuyFle4LolNB5VpvbZsjIEGNd/3nnn+WeGYEDDhg1LLAAFp9OdzGgItst81oUNNxrOZx33ME98stpwJx8otHE0FjTgbhVIAC0dq4M0tm7Fop7XjUVn7Nixvj85T7m8Z/R7JxE1+bk3aN2hoH3jP4KIqFlnnzzE2cbCxFBK9tEYiEvSualHPG1YZrwM2zYEOhmBwpI1oNt81p386E27NkggHPM+7YitVYsAs3DhJARZ5xVM1mlErTKSjteyT+WmnTupbOWxZfEQIFjQgw8+6IP0MCd7PI4Ak9Vwr+NxCop3JcWrUaHJGrji/WbFg9BqVA8E7D5XhyJBUR566CE3derUyNeE2cCYa7sSoq7u7Jar3RHAi58Ie6GkmcXDNEnr5CPULkIMBqxlhN39y1/+EkXow9+FkL71GLWQVIdO3mex5Dr57tq1dTwCkDTOXTj0IXjw0r1iRN3xt74uF4gFhj7s8EfB7P/mm29yn4NJahjWBzkzTJUhoARleuqpp3o0BnIXaglLEDCyLoHDNgyB9kXgvffe8x/ML774on0vwmrecgQYhocHP86LeQVnNM1Eh5kbYWw9wwCJnZ8mzFjH5Df8dtxxRx9zn7TsZzsUtsN9jNDBx4JftdaAsPyirxtZF/0OWf0MgRwIYPq+9957fejRHMktiSGQisAJJ5xQsWWGPmjG+KNJM4RPBLrFFlukkjWEfNVVV/mod0S+u/POO6Phfcsuu6zf1uQ59IVzXKFqIWfM7IwoYFY7zO+U18liZN3Jd9eurWsQID64iSFQDwSqtcxcc801XpOmDkwsA4Eyy5wIN143NG9M5vSZEy+Dfm5NSMMETGxfccUVPhsTwiCHHHKIX8rkThnkx+T+xBNP+GOd+mdk3al31q7LEPgfAr169eoRXczA6V4EiHQ3adKkugNAvzXRGemvZiiqAkmlBTlCW0aLxwT+m9/8pkd9mCkO8qZciJj+8NCLHC1eJnSOY4bH27xTpfDe4J0KvF2XIVAPBAgNyQQZ4QxKCopSj/KtjM5DgIiDmkuh3NVVEhSF0QfDhw/3fcoQNtPFoh2zL01E0H/72988CWM6l2ZNHqaVxUz+f//3f56ICcscCuR95pln+l3M7Md1VTK9bFhWkdZpXCeJkXUSKrbPEDAEDAFDIDcChFeGmOlHxoyO9s6wMLRd+rLLCQ5pmMpDoiY9Y7QhZPqqMYmHc8ITeY39zz77rJt//vl95D3yoNW3ShiZEXZHYb0IG9GV1Iu84XDW/v37OyPrShC0tIaAIWAIGAI9EECTpo+a/mP6kyFpCBaipi87lB//+Md+E6cy0uKQxthrCJghZJi9KQ/ZY489PIljEg+FMvEMp4HAuUItO0zXzHWsXLPOOmt0yjnnnDO6jmhnzhWun/7+UAobGzyspK0bAtUgMHny5JKWbjVlFD3Pt99+64NOjB8/PqoqQ2VmmmmmaJuVhRde2E/yUbIztqHwt+FuzXiVdIwY35qUJgw1qvzKq22WaEuMCyfELiFIkaSylSceg5z9DAeysLRCqLolpJgl8803n+vdu3K3JsiWX16TNH3XYV90Vr3ix2vJX8/Y4Mx2xwyLEt6JcMpY7a92aZp1tchZPkOgAAgQwYwPRGhCfPvttx2tfAnjZVdeeWUfm1v70pZMyKH+TKaXZWKPrbfe2ifXMcyOTD6DA9Hee+9dEhMcgkZwMCIvH0MROsRLXYcOHeonGFEdVlttNb9KWsrkeHwCD80Vz+QgrBtZC73KlxA1Tl9Zs2ox1jre6MtzNrRCacZ50tdC1JRfa/48dSxCmsqbTUWotdXBEDAEPALMikQ/GVYE/egnC3/0f4V9aVnQMVkHZKgpL2+66aYoC8fQFnRswoQJ0TGIlOlw+UHWjIHVvO4kOuuss/w+TavJBC4I5ZEHRzkEolY5fodzfi55ymd6WuaOZ7Yvk+oRgKjDZyRpvdNn3KoevdbkNLJuDe52VkOgrggwj3W9Z6QaM2aMr6M0azaYgxqSZbY4pqtMm2gDpyFM3WjjTHWJMAc9874zrzVELm3ZHyzzJ40cMqcRQZl585Yp1g6lIBC3aqQks91NRsDIusmA2+kMgXojgFMLjjz1ImuGftHfBrkyDCfsj8bblzmtw7mq81zPww8/7El2yy239Mkh7bwa8qWXXurJnbxo4RD99ddfn+e0lqYKBA499FC33nrrVZHTsjQSASPrRqJrZRsCDUaAMZnrr79+3Yia6uLAxXzUjzzySNTfrMtgP1Gj6Hs+/PDDtTtxCdlDrGjfmo0Jsof8Ieq8GjKmdNKuvfbaPi/rnF/OZ4knt501IYAX9vTTT19TGZa5vgiYg1l98bTSDIGmItC3b1/vTEafNPMHs5Q3OGTJr1KhXzrNvE1ZmLFHjhzpncEYfhN6vGLyph8bBzRI9dRTT/Wnh5wxmytsJDvR4NGQKS9NpJGj4atPG1M82j0at5zX0vLb/vIILLTQQh7LpFQ4KVq/dRIyrdlnZN0a3O2shkDdESBwArLUUkt5TRtSa5TgTQwBQ8qPPfaYPw3arvo70aghahzF6OOGuA8++OCSRkBoCg8DQIR1lhNa6HVOQwINHY3byDpEq/J1vL0Z32xSfASMrIt/j6yGhkBTEDjooIP8bElJWnX8GKbsESNGeC2aymEeDyUsg2Fjzz//fAlRk5ZQkq+99lpkwicP6fD4luy///5+yFnYb86x8NxKa0tDoJMRMLLu5Ltr12YIVIAAHtwhyYZZk46FBJqWjzLCdFllxsuJbyt/Wpk6bktDoNMQMLLutDtq19NVCIR9ik8//bT77LPPHJGUGEf7ySefdBUWdrGVI0D8bkKEhsJc0SbFQ8DIunj3xGpkCORGgAhm77zzjqO/GqJm9iEcg8IIZrkLs4Rdh8DEiRN9PO74hdPQoyE4wwwzxA/ZdosQsKFbLQLeTmsI1AMBPqhPPvmkGzVqVD2KszIMATd27FivbdMQNCkOAqZZF+deWE0MgaoReO6551yfPn2qzm8ZDQEhQExwNG6TYiFgmnWx7ofVxhCoGoE0TShtMvuqT2QZ2x6BtGeFCzOiLubtNc26mPfFamUI5EIAIp5jjjkcM2tJFlxwQdevXz9t+iVjr00MARCYa6653IABA1w5wiadWWqK9bwYWRfrflhtDIGKECCC2ZAhQ/wMSspIZLB6xQlXmbbsHAQg67gHeNLVffXVVxbBLAmYFu0zM3iLgLfTGgKGgCFgCBgCeREwss6LlKUzBAwBQ8AQMARahICZwVsEvJ3WEKgHAlOnTvUxuj///POoOOa2jo+PZW5pzJ/lhCkow0AqG264oY/tvddee/mwoDfeeKNTDG+l1b4PPvjAbbPNNo48s802W48pLJmEI2nCDpWDB7ImBNH54nUlDOlll13md5922mnunnvu8aFJtS+e3rbTEQC7LEeyddZZx8brp0PY9CNG1k2H3E5oCNQPAZyEmFDjo48+igodN25cj4/se++95yfSiBIlrFAOsttuu3kiPPbYY92YMWO8AxuTdBDHG7Jmaspbb73Vp2X2rZ122skfI82+++7rg7SwzixbCHU78MADPYFr0g/2M0mHzsm6yNpn+l8+JgBROdrP8sorr/RzajOrGA0FNSLCNLaejMDo0aP9vfj222+TE/xv72qrrdbjOSqbwQ42FAEzgzcUXivcEGg9AmFI0qzazDPPPF6bhlSZOQsy1NSUd911l89+0003+WNsMIUlwjHSr7vuun6bP6bDpBzIfc899/RzUF944YXR8VtuucWvM/tWOJUnmjL5aDSE5UiD1rSZaPGQ+bnnnhuVaSv5EIiPFsiXy1K1EgEj61aib+c2BOqEAOFGNUVmPYrEExiBvJlMAyIm9jiCCRWCReMVyepYmoZ7xBFH+LzMX42gDaNVb7755g5TOKSr6TB9gjJ/pKM+zATGkqkyTeqDAGFqBw8eXJ/CrJS6ImBkXVc4rTBDoDUIMHHHZptt5hZYYIGaKoDJes0113QrrLCCL+fwww/3S0ibY5A4SzRoNFsE4mUfxJsmzJIFsUrQqiFo5qnGjM4xadpKk7akgUBjgZnAOCflSMNPy2P7sxHA14F5wpdbbrnsxJai6QhYn3XTIbcTGgKNQYAgFoy5xnHo2WefrfokIuHdd9896gvGFE6/8wUXXODJcf311/dzWdOvjRkawtx4441Tz3nHHXf4NDi6IdKwMY9L0LSz+p/RqjkXQqNCktTnrWO2zEYA50Nm22JJbPBuEbqIwuAwBBfK6stPwqZ3794NH5NuZJ2EvO0zBNoEAYKi/OpXv3KTJk2KagwBLrroohEhRgdyrKjPOp4UckYwgaMFaz5p1jGBs4w7iKkMtN7DDjvMp8EcTh82DmhDhw51K620kk+GN/s555zjteskr3GVhfbNudSfzX60epnjlc6W+RFYfPHF3VFHHeXQrJFll13WE7e285fUnikZUSFhPYwGJ7THcAAABI1JREFUqP15lnPOOafbZJNNoqSzzz57tF6PFSPreqBoZRgCLUKAcKNzzz13SQQzqoJJnI/F5Zdf7qZMmVJz7WTGhmRDbRhzNJ7hSR7bRFJD0IQh2OOPP96TvEzr9DmHBE/fMxp3ObJG+443KET0NArC8mq+6C4ogMbSb3/72xKvb54bft0QwQyNOIz2x7BD3qciipF1Ee+K1ckQqAMCAwcO9GbN//znP7lKQ1vlY5UmBx98sPvyyy8dQ3okEC4f/HAf66eeeqqSOGKV0y8tIZY5x+PEqvIhCfqjVQ7jqxE0cuoYnov9hx56qB9eNn78eJ3CljkRwJnM5j7PCVaLk/X6oZJxHS2urJ3eEKgEgcmTJ9dFq6zknM1Oi8nu7rvvLtGs0Wg/++wz35dMkBNe8VVXXTVznHWz627naw0CjLM+77zzomdm5513jpwFwxp1g2b9xRdf+K4dXTejGTbddFNtFmpp3uCFuh1WGUOgMgRwhsF0DGFLXnrpJUdEsDAamY7Z0hCII/DXv/7VXXHFFdFu+v932GEH70AY7bSVliNgZvCW3wKrgCFQPwToH77//vvNtFk/SLuipAceeMA37uhSMCkmAqZZF/O+WK0MgYoReO6559wjjzxScT7LYAiAwKhRo7wTIKZhk+IhYJp18e6J1cgQqBiB999/3/EzMQRqQYAx1t00zroWrJqd1zTrZiNu5zME6ogAQ0+yhOFdJoZAiEAYCCTcb+vFRcA06+LeG6tZjQgQMCT8KOGM9c0339RYauuyE/gkPq3hhAkT/DjR6aef3leMKGYLL7ywixM08b1NDAEQGDBggB9Ox2iJcsKzZFIcBGzoVnHuhdXEEDAEDIHCIGBDtwpzK3xFsm1oxaqv1cYQMAQMAUPAEOg6BIysu+6W2wUbAoaAIWAItBsC1mfdbnfM6msIGAKGQA0I4LvBhCxZs0uts846Nl6/BpzrndXIut6IWnmGgCFgCBQYAQLn3HzzzZlkTQx2ixtenBtpZvDi3AuriSFgCBgCTUGgX79+TTmPnaR+CBhZ1w9LK8kQMAQMgbZHgOlVTYqHgJnBi3dPrEaGgCFgCLQMge22286PxY6P1W9ZhezEHgHTrO1BMAQMAUPAEChBYK211nIzzDBDyT7baC0Cplm3Fn87uyFgCBgCLUNg0KBBbtiwYYnnJ4IZc6GbFAMB06yLcR+sFoaAIWAIGAKGQCoCRtap0NgBQ8AQMAQMAUOgGAgYWRfjPlgtDAFDwBAwBAyBVASszzoVGjtgCBgChkBnIzB69Gi3ww47lFzktdde67enTp3aY/a2koS20VQETLNuKtx2MkPAEDAEio/AqFGjekzHWvxad3YNjaw7+/7a1RkChoAhUBECjz76qDv33HPNE7wi1Bqf2MzgjcfYzmAIGAKGQNsgcNFFF7VNXbupoqZZd9Pdtms1BAwBQ8A5N2XKFMOhzRDo9YONem+zW2bVNQQMAUOgegQmTpzop8jMKmHAgAElUcwmTJjg+vbt6+add96srG1zfPLkye6rr76K6tu/f3+38MILR9tFWvl/MUf14ojYnPAAAAAASUVORK5CYII="
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### ApbRouter   \n",
    "APBRouter not only generates multiple PSELS, but also divides them into multiple bus interfaces.\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "showRtl(new Apb3Router(Apb3Config(16,32,3)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import spinal.lib.bus.amba3.apb._\n",
    "\n",
    "class Top extends Component{    \n",
    "    val din  =  slave(Apb3(Apb3Config(16,32)))\n",
    "    val do1  = master(Apb3(Apb3Config( 8,32)))\n",
    "    val do2  = master(Apb3(Apb3Config(12,32)))    \n",
    "    val do3  = master(Apb3(Apb3Config(12,32)))      \n",
    "    val do4  = master(Apb3(Apb3Config( 2,32)))\n",
    "    \n",
    "val mux = Apb3Decoder(master = din, \n",
    "                      slaves = List(do1 ->  (0x0000,  64 ),\n",
    "                                    do2 ->  (0x1000,1 KiB),                                   \n",
    "                                    do3 ->  (0x2000,2 KiB),                                   \n",
    "                                    do4 ->  (0x3000,  32 )))\n",
    "}\n",
    "showRtl(new Top)                  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Attation**：  \n",
    "In the case of applying multiple matches, the implicit conversion needs to specify the parameter name, otherwise the implicit conversion will not succeed\n",
    "```scala\n",
    "val mux = Apb3Decoder(Apb3Config(16,32),\n",
    "                      List((0x00000,64),(0x10000,64)))\n",
    "\n",
    "implicit def implicitTuple1(that:(Int, Int)):SizeMapping = SizeMapping(that._1,that._2)\n",
    "```\n",
    "An error will be reported because the apb3decoder has multiple pattern matches (Scala implicit conversion cannot be nested). You do not know which one to match. The implicit conversion is not successful\n",
    "```scala\n",
    "object Apb3Decoder{\n",
    "  def apply(inputConfig: Apb3Config, decodings: Seq[SizeMapping]): Apb3Decoder={...}\n",
    "  def apply(master: Apb3, slaves: Seq[(Apb3, SizeMapping)]): Apb3Decoder = {...}\n",
    "}\n",
    "```\n",
    "The correct way is to specify the parameter name (for compiler information)\n",
    "\n",
    "```scala\n",
    "val mux = Apb3Decoder(inputConfig = Apb3Config(16,32),\n",
    "                      decodings = List((0x00000,64),(0x10000,64)))\n",
    "```\n",
    "\n",
    "**For pattern matching with only one apply, you can omit the parameter name**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## AHB-lite3\n",
    "First each time you want to create a AHB-Lite3 bus, you will need a configuration object."
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiUAAAE0CAYAAADzD0NIAAAgAElEQVR4Aey9C5RVxdWuXUZFQA0XRSNe4DOiAY1cJUIUVEKISsCAw0CinxgU5VeBw++FCJIhiqJwRLz8CgHF4BHCQBSEo0ZRAYOEgMgXBBUhgAmo3EUIogn/eArm6tqrd+/e12Y3/c4xdq+16r7eqq56a1atmoft27dvn5MIASEgBISAEBACQuAgI/Cdg5y/shcCQkAICAEhIASEgEdApEQNQQgIASEgBISAECgKBHImJR9//LHr1q1bqZcJ3TZu3Oiuv/56Hw534pjg/vbbb9tjdCUc8UyeeOIJn8ZXX31lTroKASEgBCoNAsn6Ovo1fib333+/u/DCC/1v5syZ5uzD4BcX4t5+++2RM30mfWcYN/LUjRCoBAjkTEoWLVpU6jWXLFniNm3a5N25v+qqq9xFF13kpk+f7nr16uU6d+4cEY558+a5+vXrJ6TBP9by5cvdSSed5N35Z54yZYobP368O+aYYxLC6kEICAEhUBkQSNbX0a+dffbZvviQEWTq1KluwoQJbuTIkRG5mDNnjqtVq1ap11y6dKlr2LChd6evbd++vSclXbp0KRVWDkKgMiCQMylZtmyZa9WqVcK7vvbaa+6ss87ybgMGDHD33nuvu/rqq/0z/ywQE/7JTBNy5plnJsT/6KOP3IknnujdICTI/PnzE8LoQQgIASFQ2RCI93Wff/657yvp5y699FJ31113+ckY4eg3TePBJK1jx46lXpe+8vzzz/faZvracePGRX1tqcByEAKVAIEjci3jwoUL3Y033uhg6SaLFy/2bN2WZdCShMI/HoK/kY/Qf8GCBf4fjZlDvXr1vIYl9Ne9EBACQqAyIUD/SF8X9pMrV670r4BGGC0KmuBQ6DfDvjNOaAgLqaEPHjNmjJs8ebJr2bJlmITuhUClQyBnUsI/xfr16/3P3h5WP2LECDdt2jTP/s09foV8MDuIyyuvvOL/2dCoTJw40bGPRMs2cZT0LASEQGVBAO0xEyyuJkzezjnnHE9Ukk3OLJwRGnu2K+6rVq3yS9vt2rXzaYuUGDq6VlYEciIl9s9img8DASJhrH7btm3mHF3ZsNWvXz8H+UBFGReIztChQ70akvioJeOziHgcPQsBISAEihUB6+tCzQcbVOvUqVNmkdnEypINRIYlmrigIbngggv80jZL4ewnue6666K9ePHwehYClQGBnPaU8E9he0fsZY2o8Ny2bVs3Y8YM8/JX/tGYIaD5sPXUMIB9mWN7UNjshWrT3MOwuhcCQkAIVAYEkvV19J+dOnXySy7403eacM+SDJM7+sumTZuaV3RlX16PHj38M0tAaJbvvvvuyF83QqAyIpCTpoSd382bN09475DVMytArcjeEJZp1qxZ49iYxaZVSAaqR77MMUG9yedsqDRD6d+/vxs0aJD2loSg6F4ICIFKgYBt6LevCa3QEBFbbkEz3LNnT08s0A5DWNgjgrAczteMY8eOtaj+6xxbJjdHNNb0tezVCzUy5q+rEKgMCByWyzHzEAtbprGXxY1PfMM9ILi9/vrrXgVp/4SED2cGPB977LHR58FhfAsbxrX8dBUCQkAIFDsCyfpK+r+wT4O8oP045ZRTEkhFvJ/kXYkXj487adCPxvvPYsdH5RMChkBOpMQS0VUICAEhIASEgBAQArkikNOeklwzV3whIASEgBAQAkJACBgCIiWGhK5CQAgIASEgBITAQUVApOSgwq/MhYAQEAJCQAgIAUMgp69vSITNVpwjEj8Gng2wbO7iE2A+bTOxL2uwg4PwtQ27yONCXEsbP3aq8yWPnVeSKl58862lPWvWrFIbc81PVyEgBIRAIRGgz+J8pvDLGDur5Morr/Q2wSx/O0wNGzj0Z/F+1MLZKa6kw/ELFo9nTHrQj2JrLC58Psynxsn6Xr52vPnmm+NR9CwEKgYBvr7JRR5//PF9vXv3Tkjirbfe2nfBBRd4N/wIE0ro1qhRo32LFy8OvaN70gj90o1nCRB+0qRJ9qirEBACQuCgIUBft2HDhoT8rY+jn/rFL36R4Ee/aW5h35cQaN8+38fhb0KfSV5IsnQtnF0JE8Y3d12FwMFAIOflm2RnlZjtGmiVGYwKKRanGO7YsSMyyBd+FheGQzsSCgeqnXrqqeXGszgcuta6dWt79LMNDFxh/Irv+Z977rnITzdCQAgIgUIhUN5ZJckMm9LXmbV1+rJkBvkoL31pKPSnaEIQzizp0KFD6F3qnjDheVNoVzh1mx/aHbQuEiFQUQjkvHwD6YBk0IBNOGYea5WIEQuWYnbu3Olmz57tDwbi2GXUh0gYl2dUnHxnbwcKsWzDcfSm9uSfKFU873ngT7iUwxkAyB/+8Af35ptvetPgdnJsGEf3QkAICIF8IkA/iYR9HYek2XILh6WFhk05hDLsR4mLLbFQODGbPpGlFsgDEy3SoE8z0x/J+ufTTjstwZIwYfr27RslzZlS9M+PPPKI74tbtGjh+8oogG6EQAERyFlTAungqGOOS7Yf5eX4eYgIwj8Yvz59+vh/HPafQDrQqNgek/Ad7eAf/rlg7aeffrq362CMvbx4pEXe9g9vabN+ytos6Z988sneQJb56SoEhIAQKBQCTMa6du0a9ZH0lYiZ6aAfxbAp/SR79CAsc+fO9aTD+tF42Swu7uzRY+LGFXJimhnSjdvX4XC2UAgTaquZvEFucLO+OAyveyFQUARyWTNi7dL2jlg6rJnaeubw4cP33Xbbbea1b8aMGdEaKY7EZf9JMiFuKDt37ozSTRXP4sTzplxhWfGP52FxdRUCQkAI5BMB+p5wfxxp2z6ReD9qfRV9HhLvy8Jy0X/G+1D6XOLE0w3j2X2yMJTV9r4k87e4ugqBQiCQk6YEVh+3Xokq0DQUcUNS7AZnjdSWX2DoIdsP2RfqQ/Z/mJj6k+dU8Sx8PG/iY1vHhPRttmJuugoBISAECoFAXBtBHvRJ9J9xw6bYyKFfvOeee3xR4n1ZvHyPPvpoghNallq1apVKNyHQgYd43jhTVrPTQx+P3TKJEKgoBHIiJcn+WVBTWiOGgIQbTXkplnr4JzL1Iua22fdhP1SPCOuZWAjmmR8qTT5/Ky+eAUfe4QYvlnzC52SdhMXVVQgIASGQLwRYgraJWpim9UHJPha44447Igvr9GXDhg2L+kjrK+kL2VPy/e9/3/tZX8lyDftMSJcNshberuEGf8LYXj3KxlJRuKROH6/JW1hrui80ApXC9g3/fMbcCw2I0hcCQkAIVEYEID8QD4kQqMwIVApSUpkBVtmFgBAQAkJACAiB9BDIafkmvSwUSggIASEgBISAEBAC5SMgUlI+RgohBISAEBACQkAIVAACIiUVALKyEAJCQAgIASEgBMpHQKSkfIwUQggIASEgBISAEKgABERKKgBkZSEEhIAQEAJCQAiUj0DOtm/iWaxbt87t2rUr7lzuc+3atV39+vUTwq1atcp98803CW7pPHBIWnhQWjpxFEYICAEhkA8E1AfmA0WlUVURyOsnwdu3b3e33nqrq169esZ47tmzx02aNCmKByHBlsNRRx0VuaVzs2/fPlejRg332GOPpRNcYYSAEBACeUNAfWDeoFRCVRSBvGpK0GoceeSRWWlK4viTFoQkG63L4YcfHk9Oz0JACAiBgiOgPrDgECuDQxyBvJKSsrCKL6dwbDK/bIQlHpZ6TDZs2OCYnUiEgBAQAsWKQLwPzKXfiveBa9eudbt37y7WV1e5hEBGCFQIKWnXrp3r3r17VLAXXnjB8ctGMOpHeiZPPfWUt+9gz7oKASEgBIoNgXgfmEu/Fe8D77vvPrdixYpie2WVRwhkhYC+vskKNkUSAkJACAgBISAE8o2ASEm+EVV6QkAICAEhIASEQFYIiJRkBZsiCQEhIASEgBAQAvlGoGB7StjY9cADD7iaNWuWKjP7S/ixOeu3v/1tuZtezzjjDHf33Xf7L3viid10002OHxtnSUsbvuII6VkICIGDgUCDBg18v5WsD7R+i036v/vd78rtA5s2beoGDhyYtA8cMmSIfz02zw4dOlR94MGobOWZNwQKpimBJIwYMaLMw8/4dA7/dL7C+eSTT1KeOwIRYbOXCEne2oUSEgJCIEcEOESN85Lo65IJ7g8++GBafeCyZcvchAkTkiXj3SA3pKU+sEyI5FFJECgYKeH9U5EJ/lnxT1cWL16ccLiaxcuE3FgcXYWAEBACFYFAWWSCfuvhhx92EJd0Zd68eUm/WoSIpEtu0s1L4YTAwUKgoKSEl4JMPP300wnvxzPumcorr7ziZs6cmRCNf+xMyE1CZD0IASEgBAqMAGRiypQpCbmg9YCwZCocpfDGG29E0SA3TPAyITdRZN0IgSJE4LB9m2fuc1teLsKiFWeRJi881+3cUy0qXM+ePd2xxx4bPetGCAiBSobAhped2zirkhX64BV33JKWCZn36dMn4VkPQiAXBAquKcmlcIorBISAEBACQkAIVB0EREqqTl3rTYWAEBACQkAIFDUCIiVFXT0qnBAQAkJACAiBqoOASEnVqWu9qRAQAkJACAiBokZApKSoq0eFEwJCQAgIASFQdRAQKak6da03FQJCQAgIASFQ1AiIlBR19ahwQkAICAEhIASqDgIiJVWnrvWmQkAICAEhIASKGgGRkqKuHhVOCAgBISAEhEDVQUCkpOrUtd5UCAgBISAEhEBRIyBSUtTVo8IJASEgBISAEKg6CIiUVJ261psKASEgBISAEChqBERKirp6VDghIASEgBAQAlUHAZGSqlPXelMhIASEgBAQAkWNgEhJUVePCicEhIAQEAJCoOogIFJSdepabyoEhIAQEAJCoKgRECkp6upR4YSAEBACQkAIVB0Ejqg6r5qfN12+fLnb8mVJWjVr1nQ1atQocUhyd+mllzrCSYSAECg8At9884175ZVXHNd0pEnt1a5x7XRCKowQEAKFRkCkJEOEISUbN++NYm3ZssUdeeSR0XP85ogjjnDHH3+8a9++fdxLz0JACBQAgVWrVrkXXnghbVLi2lRzjdseVYCSKEkhIAQyRUDLN5kilmF4SIlECAiBikWgWrVqFZuhchMCQiAvCIiU5AHGVq1auXr16uUhJSUhBIRAoRFgOVUiBIRAcSIgUpKHemnQoIG75557HFeJEBACxY3ANddc437zm98UdyFVOiFQRREQKclTxdeuXdvdfffdrmnTpjmn+PHHH7tu3bqVSifuNnPmzFLhnnjiCXfhhRf63/333+94DuX666/3fqSF/3PPPRd6+/QsPmEJQ3kQ8sMPd4S0SSeeh/d0zt1+++12W+pqcUkTefvtt6NylQosB485GIUChiH2Gzdu9BhafVlY6sjqjfoM0yGs1Tf1hT/pmOBm/tZmrM4IY2mTDunSNvjFy0BY2loyd/xwJ17YZngm77C8Vq5crz/5yU/cwIEDU+4HyzUPxRcCQiBzBERKMsfMXX755VHn+/TTT7vu3bv7VPjC5s4773R0eLnIokWLSkVfsmSJ27RpU4L7yJEjHRtvw45+6dKl7vzzz3ePPPKI69Spk+OZgcNk3rx57sYbb3SDBw92bdu2dWPHjvUDkfmTHnH59e3b19WqVcv17t3be8+fP9/16NHD3XHHHf79cSQd8ggHR8rDYFKnTh1LNuHKYGNxeQcGQZbASLtu3boJYfWwHwHqrX79+glwTJkyxZ199tmRG6QYef311yM3sLU6pT5PO+0016dPn2igp62x9Eh9gz8SbspeuHChby/4U9fnnHOOu+222yLiQpvE79hjj/WknDy6dOniOnfuHJWBG8jOsGHD3JlnnpngzgPtZdCgQb69NWzYMGpbpIWcddZZpeKk69CkSRP3/PPPJ/wsLm2OMlWvXt2cdBUCQuAgI6BdmAWoAFTDfHHDoJGNLFu2zA/SYdzXXnstoXOmk6ezZkDZsGFD1Nl/9NFHfpBo2bKljz5+/HjvR8dvA8LVV18dJT116lQ/CN11110O4nPiiSc6i0sg7seMGePDM0DdcMMNPp3TTz/d3Xzzzd6dQQjCgjDTJdznn3/uSY93PKBV6dixoy/r1q1bo7is7z/zzDOO/NeuXeuaN29uUXSNIWD1Z85gbAM22gTqHmIBjia4hXVqdfvoo4+6iy66yFlbM3eua9as8SST+iWPsL3gD5GkzZE27Q838r/33nv9vYX56quv3M6dO91VV13lw1EOE8J/+eWXnsBASPr16xfFtfckHfI/6aSTLFreryy51rv4Yud2vJn3tJWgEBACmSMgTUnmmKUVg8461afCqRJhUGdGC0mw3+LFi/0gQjw6+4kTJ/pBgNneggULouToxOnMQ2EwYHAw0hH6hR0+xActiwlEBq1Gu3btvBNp24ABiUBIk0EK7RGCShyCQp42YOI+Z84c748KP9TceMcDf3jvMP/QryrfW71ZW+Bqy25Wf5AMCCH4gaMJbSO+sbNx48aR1o2waNRCgXDu2LGjVHtB62IaMdoYadP+EAgOP9oMYWj/xxxzjCcUtAfqPGwPxP3000+9xgVtC3HjYu8dd8/3c7b/p/kuh9ITAkLAOWlKCtAKWHM3Lcnhhx+ecQ4M/uvXr/c/i4wKfsSIEf5xwIABrlevXr7DZwmGAQkprxOPkw5L264QHwYIBhCuCDNvZszJ0ma2S94MQDao2CAZn+FOnz7dp8fsmhm1CXkyS0aSESoLV5Wv1BsYczUBN5ZSECMoaKwQcDThELEQb9whqCbJMN+2bZtfeoOw4G/tgXvaHWkiXFm6CeX3v/+9mzFjhps8eXLo7DUyoRbMSC1lD8kKpMY0KrxvnFAlJJqHB9r50rfecj/9YR4SUxJCQAjkjIBISRYQzp49O4rF+j0Dt+0reeqppxzr/+XJSy+95K644opSwWzwt07bAqAZQUvBbJX0GdyNRFgYBpGwg8ed8DbwDB8+vJSWgkHBBjeIz9y5cz3ZQRvDgGBaDdKOazFsdsz+EcptGhruLU0rm10pixEX3MjTZtg2GFnYQl2vu+46r2nKR/pvvfVWRMjykV6yNIxYGPEjDFoR27PDviDE6ipMA7zjbYI6p81CAJIJpGLWrFl+n8fQoUOj5RvSp17RgCDWrsI00JrRHiDOtqSHP+2Hpb+4QL7RzJjw/2TtjPbNPpZk8sc//tF17dq13P0gK1ascL/61a8SkmCPCbJu3TpP2C5t+q1zToenJYCkByFwkBDQ8k2egN+9e7d78MEH0yIkZJmMkOCejFgYUcEfrQUDBR0+2geuDA4ISyThbBRiwXp+//79vT8EoHXr1v6eP6TLRj80MJAXxAgDA49pSXBnM6st0TA4WXgfybmETZjMcE2tb/52DYkHg6MtDbHh0gYjC1uoK3tY9u3bl5dfSBQKVd5kxIJ2wrKL7S2y9kCbAGPq1kiH1SnlA3MILe0IAhAnj7ZcBwGOtxfaCZtcEerf6pJ8bPMyfuwViRMh3sGW/nwCB/6wTBkKGkaWABG0GEZ0wzDc//KXvyyXkMTjhM8QHv6P+L+VCAEhUDwISFOSh7qg80RFzswrV2HwD4kF6THIM2CzXEJe4cZDy4+BgUEEf1s6YiBA3c4AZCTCvqQhHv6jRo3ygwVp2yBjaRKPTa7EZSCzgQZSAtlBk0LnTtnCgS8+w2XAoswM4MThmdkx4WxZhw2X+fic2sp+qFyt3kJ8re6oj549e3rtVvi+uENa+HIKQXMRyoQJE/wjbY02E/oTl83RJiGR4J42ArE55ZRTovaAO+0D7Q1C3mygNqFthm2LPSfsWUEbSLuw/Nlgy5dh8Xe1dPJ1RfM0adKkfCWndISAEMgjAoft2zxzn9vych6TPLST6jpgRYLtG3bvp9oox+eG1157bcJnlqkQogMPBwLC4sbnoHzxwKeX8U7b4jA7DiU+y0zlb19KlJU2ZSIfE+7RbqB5SVbe0M3KF48bkisGJgbLMJ6Fr+rXOH7gQV1CIMIvrwwn6tIEsmBC2wnxJd1wfwltLKz/ZPlCkkiHvUSQHoirCcQWSaY9CtOy8tkyEHEgOmFbsv1KRlotj3SuLNmMHj3a7dq1K53grnubaq67bN+khRWBxi1J3EjPJ+YSIZAvBKQpyReSZaTz7besV6cv4aBhsczNruZuV3OPkxDzt2sqfwaIcJCwOKTNAMhMNxxYcLd8Laxd4+7JnkM30i9LvW9pVuVriJXhYHWZzC+sRwtn8cJrsrjl+RtpQduAViOUZGTE/MO8wvKZf0hQaWfs2+rQoYN5Z3zdu7fEaGbGkRVBCAiBg4aASEmG0LMGf9KXJZEuuOACV6NGjRKHJHcc4FSZhdk0yy7sQQgHl3y8EwMQy1O27yUfaSqNwiNAe2CTKlqPZCQjlxJMmzbNb+JFw5iNcACbfYmUTvwmtVc75/hJhIAQONgIaPkmwxqYvPBct3NPiQVS1vRRZ0uEgBCopAhseNm5jbMqaeErvthavql4zKtSjvr6pirVtt5VCAgBISAEhEARIyBSUsSVo6IJASEgBISAEKhKCGhPSYa1zf6Hz7eWbF7l64Zq1UqWc+LJ4XfLLbf4EznjfnoWAkIg/whw9sjDDz+c9tc3P2nyL9ehcm/7yj+ISlEIHCQEREoyBJ4juLdsKdnZz2a/VJ8EQ0r4RDG0vJphlgouBIRABghgkJAzT/bs2ZNWrO31mVToRNe0wFIgIVBgBLR8U2iAvyOICwyxkhcCpRDIxuZUqUTkIASEQIUjoBEzD5BzVDqHqEmEgBAofgSuueaa4i+kSigEqigCIiV5qHgsuN599906Jj0PWCoJIVBoBDhjBfs6qZZdC10GpS8EhEByBLSnJDkuGbvWrFnT3XnnnS5dK8GpMuCE07iVVcJzcJmdqsrVxIyhmc0SjgJnDwsHkmG7xsSMr9nR3aGlWawQx4XwnKoZpmFhME2f6rRQC6drcSNQVdsaBiMxRonNKudKNq4Xd22pdELg0EdApCSLOsZarh23HT887aabbvJ2aswoXhbJJ7UUnMxgHmnjPm/evASDZ2htMMSHwTWISWifBAKDQTTcMJz2yCOPeHKBcTTIDIb2QpPzhI+nkc07KU5xIkAbwIZOKIdSW+M05SFDhoSvF92z5PrAAw+4pbOHOedKNq9HAXQjBIRAhSOg5ZsCQM4R17feemvW6uFkloIXLFjgrfHGi4thtK5du0bOEAtICiSDz5Wx4BtKnTp1vIVW3LA3E2o75syZU+rTZdLq2LFjmITuDyEEqnpbY+n14osvPoRqVK8iBCo3AtKUFKj+Nm3a5L755huXzVcAkAnIw/333x+VjuWVcePGRc/cMKMln8GDB3utB26mJeEe0oGgosd+DUbOmBljTC1c/vGBnHPLli1zqLXjgi2SUNq2bZvUEmwYRveVAwG1Nef/T4+sHNWlUgqBQx4BkZICVPHTTz/t3njjjZQpc4ZC9erVk4aBTPTo0SPBD1JianYs9kI00JKwL8TEtCTsLcEf4bA3hPijRo1yI0eO9M+LFi1ytsfEOzgXLefYs6Vhz3a1cthzZbt++OGH7rPPPstLsZs1a+Zq166dl7QORiKVta1t3brV1a1bN2fI1q1b55a/9Za7vEXOSSkBISAE8oCASEkWIKJxMMFyLgSie/fujpMkH3vsMa9xMP+yrmg5fvazn5XyhghAOsJlFcgGYvtYuEfjgZg1VAaXUEsCGWFZh2UcBAICMbHw5B/XipBGmG88DZ/QIfBnxowZ7tVXX83Lm4wePdpBTCqjVOa2RtkvvPDCMom91QcHF/7qV7+yR399/vnn/XXx4sX+/7VLq8N0eFoCQnoQAgcPAZGSPGG/fft29+CDDzpmXulIMkJCPIhAfB8IKnaISih8ERNfziGcfYFDh9utW7coCmQELQlk5KKLLvL7Tfr27Rv5J1vOiacRBa7kN3wlxa+qS2Vua7nuc0KTiUZzv5RtJqKqtxG9vxCoaAS00TUPiENEfve736VNSFJlCRFo2rRpQhA0M5ytYMLmPDQfkItQbrzxxuiRvSatW7eOnrlBo8OSDxLXirCcwyFwoZAGn03yKXL4M81NGFb3lQ+BqtrWJk2aFBCSyldvKrEQOJQROGzf5pn73JaXD+V3zOu7dR2wwm3cXPL5IJ8VpjqEiX0j1157rWzf5LUWlJgQKBsBlmxYVtu1a1fZgQKf7m2que5tZfsmgCTl7bglLRP8+/Tpk/CsByGQCwLSlOSCXhpxv/1WBzOlAZOCCIG8IrB3b8nEIa8JKzEhIAQKioD2lGQIL8smJ31ZEumCCy5wNWrUKHFIcnfeeeclcZWTEBAChUCgUaNGfuM5n+SnI01qr3bO8ZMIASFwsBEQKcmwBiAlO/eUbIzjC5djjz02w1QUXAgIgUIhwHKqfWWWVh4bXnZuo0hJWlgpkBAoMAJavikwwEpeCAgBISAEhIAQSA8BkZL0cFIoISAEhIAQEAJCoMAIaPkmQ4A52+HzrSWbVzkbpFq1kuWceHLf+c53vPG7+vXrx730LASEQAEQ4MwgDE1+/fXXaaX+kyb/ch2apBVUgYSAECgwAiIlGQK8bds2t2VLyc7+9evXp/wkGMKyatUqbzk4w6wUXAgIgSwQ2LBhg+P/ElMO6cj2+kwq9ElwOlgpjBAoNAJavikwwmhKJEJACFQsAtkYwqzYEio3ISAEkiGgETMZKhm6cdpq/BTWDJNQcCEgBCoIgYEDB6bUblZQMZSNEBACSRAQKUkCSqZONWvW9LZU4se0Z5qOwgsBIVB4BDBEifkE/m8lQkAIFBcCIiVZ1Mdxxx3n94iwefUHP/iBwxYNctNNN3n7MlkkmRDFLKAmODrn7c+YG8b2zB4N92ZQD4N7ZojP/MPr/fff75MI3ew+Ho9yEB5rrPxmzpxp2SdcrbyEee6557wf96RLeSQVjwD1dvvttydkHLaNsM6op+uvvz4Ka+EIY20jvOKOhG52n+sZ0QsAACAASURBVG0bot1YO7O2nI82BPFo0qRJwo+yYx7igQce0F6vqNZ1IwSKAwFtdM2iHrDie9JJJ/mYPXv2TDg8jUObIClPPfWUS/dEyXgRFi5c6M4666wEZwYKsxTMANKhQwc3ffp0H+aJJ55wgwYN8s8LFixwzAQR69y5J8yUKVPcXXfd5cygXujvIzjn/chn/vz5nmBgtI37r776yrVo0aLUoVSkNWDAAPfKK6/4JFjKuvrqq30cBpW40UDLR9fCIpDMwjOGHa1tUGd8odKy5X47JrQp2sjNN9/srA3hF7YRIy6457MNQXZp37QzCI+1ZZ5zbUMNGzZ0Q4YMSQo2/6doTBbP/J1zLjimOWloOQoBIVARCEhTUgCU27Rp45dzUhnqS5Xt0qVLXfPmzROCMFBAhpCtW7cm+GHwD5KCQA7atm2b4E9HP2bMGD8I4TFnzhxvZTgh0IEH/IwQnXLKKW7EiBHe55hjjvGkiEGKn82I7777bod1Yvz5IeRng9aBZHWpYASWL19eyko0ZNfaBlaiQ4FInnrqqd4pWRuCsPD5+/jx432YXNsQ6ZnWbuTIke7ee+/16UJ4KDtSEW0ITQqmIiRCQAgUBwLSlBSoHhgA0JRk8xUAnX+dOnWiTpsiTpw40Y0bN86XFqLQu3dvTy769evntRHMcBEGGyMVPNOxo80hrs2Kly1b5sPaoOAfnPNaFPyMEIVaDtTrzCxR00NKjATNmzcvGqgsHa68gy1rhe66rzgEpk2blpAZbcPqdOjQob5dsA8KQmDuRIi3ITQZkNr33nsvSi/XNvThhx+6s88+O9LEmOYxyqAC29DOnTtdrTBj3QsBIXDQEBApyQL6LVu2RLHoXFER2wAMEXnssccc6vNUwgFPtWvXThqEQaFHjx4JfpASIxsQA1teQVNB3izl2Mwy7OCvuuoqxwAUDjoQJtO6WCa1au3vlvGL583ehNWrV0fLRbZ/AHJiS0qWDmWH/EB4jLiYX7FcqbPPPvssL8Vp1qxZmfWYlwyySMSW+jp16hTFXrlyZXTPDZoRftRT+/btHTac0FjE2xBar9tuu81Nnjw50oQRP9c2ZLZp0JiEbZH8rE2hHSyrDW3atCn6n0t4sdjDrl273IoVKxJc2WNiArla9+5c1+U8KY0NE12FwMFEQKQkC/TpkE1QNTOId+/e3e3evdvPOtetW2feZV7ff//9BKJgAa1TNq0G7uFAQSfOcg1LJTawsO5OPAYe69CJxx4AiAzhQoE4MAAlEyMV5scyTd26dSNCYu5cmWGGwmCIwUKEJQD2LBSjzJgxw7366qt5Kdro0aMdxKSYhMGcvT1hG6JtWN1ARNhbhHBF28Z+IdoEyzJhG2LvCaQ2TIt4+WpDO3bs8FpBw499T0aKU7Whv/3tb34pqnr16hY16ZX/xfvuuy/B7/nnn/fPaPnY+9W9jQ5PSwBID0LgICIgUpIn8Jm50flxTUdCzUUYnmPsw5kjfiyF2ECxdu1ad88990Skgg2oDBBYKmbWx2CEoN1g74lthrU80G6UJXHNB4SEmaotDcXjxQeqRx991A9whIuTm3jcg/l85513+j0/B7MMhcybwdz2aFg+tA3b5Io/BMW0FbQvk7ANQXZpi3FSm882xB4XNuAitGUIvxHmVG3okksusSJndX3hhRccP4kQEALFhYBISR7qg9nYb3/7W68pyTW5sr6aMLJBhw1ZYMAwYSbLkgpLLIMHD/br9GgDENxNGIhsg2rojj97CyBKRogYeNAC8WM/AdK/f3/vP3z48IjsEN7KwoZX0kCzYyTK8ta14hBgMLelPsuVwd40V1zRgNjgTxiWZxBrQ2jkSId2ZG0J/169ernTTjvNh822DaEdwVwD+dNeILPWhqyMhWxDaEfQkkiEgBAoPgQO27d55j635eXiK1mRlqjrgBVu4+YS2zecd5DqKxvUyyy3sG6fb4E4xAeGXPJAu8LJtPGZcaZpsimWpRz7UiPT+ApfcQgw+Id7kHLNOds2FC9HLm2IPSQsq7GfJB1h+aZ7W9m+SQcrwoxbsv8zcgvfp08fu9VVCOSMgHZ35Qxh6gS+/bbEonDqkJn75pOQkDuzadT3qNGzFWbYLBmVtTyVbbqKVxgE8klIKGG2bSgsRz7a0N69JROHwiCnVIWAECgEAlq+yRBVlkBOCs5Z4oyDGjVqlJkKWhQ7G6LMQEXiYapzO28km2KxnMMvvt8km7QUp/IhUAxtqFGjRn7jebqHFzapvZqFq8oHtkosBA5BBLR8k2GlTl54rtu5h936+yV+oqu56yoEhEAlQWDDy85tnFVJCnvwi6nlm4NfB4dyCbR8cyjXrt5NCAgBISAEhEAlQkCkpBJVlooqBISAEBACQuBQRkB7SjKsXQ53Cr++ef3111N+fcMx83yyyzq3RAgIgcIjwFlBfAWU7mZXfX1T+DpRDkIgXQSkKUkXqSzDsdF1w4YNWcZWNCEgBDJFAFKS6jP9TNNTeCEgBCoOAZGSPGCtDjAPICoJIVBBCOj/tYKAVjZCIAsEREqyAC0ehdNWORFVIgSEQPEjgBHLmjVrFn9BVUIhUAURECnJQ6Uz87rpppsiQ2J5SNIb2Iung9E9hMPNuLfneLhktknMjZMzLa65xeNbmNA/zNPic7Uw4T3pmXs87fA5HsbSDcPofj8CYBU/1I5nc0uFXRxnUgzdLC7XssTChP7mFr9a+mF6tKnyJB6GMpKGvWN58dP1P+OMM9wDDzzg6tevn24UhRMCQqCCENBG1yyAPu6449xRR+0/lvoHP/hBZEIdA2e1a9d2EyZMcOke3JQsezpibJPMnz8/8qbD5kwUOmpshUycONHbl6lXr543AkienPDKaZhLly5NOOKdI7s5ZZXfVVddFaUZ3lheWBbGQBu2U7iSPvGeffZZxyZf5J133nEcGodwUFqdOnV8ecx+ztixY70ff6xckYNzfqDh/UzIe+bMmZEtFiuL+evqXO/evb3tmvBQOjBs3ry5rwPaBvaGrD1gh8jMBXTu3NnNnTs34Th53GbNmuUtPVtccCY+9o5GjRrlDfbRdqhPaw+EmTp1qk8LG0js38BGDmL2jvAnfZ6p/0GDBkWGKmkvoc0dH/GARWszDMgmVf6XiEdZsMsTvrfFSeeKRqRhw4algvKew4YNcyNGjHDOrS/lLwchIAQODgIiJVngTsdqx2LHD09jYD7++OPdww8/nLWBvmSWgkOT8lh5HTduXHSUOwM6HTjkgXBmdM9eLbQQywASH6AwhgYRwtIwA0NICvDDjg2WgvlBihggwzDkZwMHxMjSZ0B76KGHEggSZWIw5R04OZYBiHAMoJ9++qnDWJukNALUW3xgxqhc3759He2la9eu0WCPZqFFixYeU9OIWHsNUzYSS5sN7RQZQYQYMHC/9957vq6IS33RtiEWtDeE+u/Xr1/UHskTQkIbgSTXrVs3Ckt7gmCH5bn//vvd6aef7stA2VkOJW/Sp4zx9w7fobx7CMmQIUOSBoOwsJSzdPYw59wXScPIUQgIgYpFQMs3BcC7SZMmvjPPdkMdloIxjBdKaFKeASq0Asts0szSc9+6deswqrdH0qlTJz8Y4BEOCDyTHoSEH/eQEBNmuqEdGz6BDvMmHHnawMHsO54+YRi4SJdBClJnR9mjZVm/fv9MFUJVWY7kN3wq4mrEIlle4B5vLzxjDgFZtGhRdG/xqQfTaqBVQ9sSCuQQTQJCOLRkJr/73e/cwIED7dFfqf+wTdBGqGMEY5Qh4bGIEBEIDoLW76677vL3tAvaIGLkxj8U6A//o/H/lwJlpWSFgBBIAwFpStIAKdMgLN2w1MGVc0oyFTp51OI2EyU+bmgjbN09XIZhQAg7fmaXodDJM3gZ2WBAQNasWeM1I5ijtzio7Zk9MiiFs19LLz6IUR4b4Ahj6aB5Qe2PKh8ZPHiwLwNpm30U3DFhb+p13jkc3HxE/fHEAhhCDRhYGe7WXsJlM8M91JIZlAsWLIhIA5oxiKG1CQgNaVt8W36hPduSkBFK0rP2GBJR2ogR2TAsS4OmZbzyyiv9ng7aib2Hlc+uEKqKaA/8f5xomeoqBITAQUVApCQL+Lds2RLF+vDDD/2gajPL3bt3u3vvvdetW7cuCpPsZu3atdFgHPpbJx8uj+Bvamyb5YYDO8shqNxPPvnkUh182OnPnj3bq/nRmvzzn//0Syi2jGJlQG3OjyUVCASqdJvFEoZBjCUDE57t3c3N9iEwoNlgZZoUI0gWFquyN9xwgz1G4SOHAty89NJL7v33389LyhA6I1V5STBJItR5//79/fKZeUMiIHQmYXt48sknoyUW8A39CE+d00YR6qNHjx7+nnho3ML6pt1BjikDe5m4D8ky9R8nFbjdcccdPk3+2JJM2JaMvLL0hLsJ+ZiWB0Jl5Mb87bpixQqHRrI82bVrlyNsKGE8lsA2LXvHdW+7f49YGE73QkAIVDwCIiVZYE5Hb8IslU69e/fu/pC0Bx98MNrUZ2GSXbdv357M2Q/68U4+VN9DLOjEbZAnEWaflIOfqc0tcWa45mYDFHH5oaaH0KBlIY9w/wd7PBo3buz9w0EqTiqYdXfo0MGyc8yGt27dmrDnJPKM3RgBY4CCPMXJTSx4lX2ME0GAQKNhS2K0l7A9UHcQSiReX+bGYG+E1eLSDtjzgRaDOiF9IyCE52dkwifunKP+Q1Jh6Vs48qCNmZbF4pV1hdCaRihOWMM4//73v92ePXtc9erVQ+dS90wO7rvvvgT3559/3j/zvwGZ50RXiRAQAsWBgEhJnurhk08+8Tv50ZSkI82aNUsaLFknH+4LoKOmg6ezR1auXOlmzJjhN5cyeDEYMdijoWDWaX6EjQ9QbFxl8CA8V2aNtumU8MycjdDwbIMY9ybMum0mTlzKwLOVjwEPwsPnl6jymQXjhztltX0FzJhtX4ylXajrFVdc4fhVFonXG+WGgPLlyLRp0/wSh+G9c+fOBFzBm3081DUCaWRTLJJsQzUEIySn1I99LUM6ccIcal1IM95GICSQdggufrYcwynHtDkIEPlZXNqPLUXy3kZufIDgzw9/+MPgKbNbllXR4tHeJUJACBQXAiIleagPiAEzrlw+A7ZisM/DPuU0NzaCmjYCbUK4d4Bn21wKEWEQYQBi0GJAMj+Ih6nFLV2uDFBsMCVPwvIVj6XPABVqSVjySTYrtpk2JAhhIEIoGzNtBh3U+QwwDKT2iSjkiqUihJk/+04kiQhA6OIH87EcQl2Cp+0LMsyJTRswXMEfIoIGBAnrlOUfc7dcr7vuuojAxONCKOLLitRxuMQCabY2Yho+NBL8EMqGhg6h/Pz48oZykJalT9w4AfKR8vCHr4dYGpIIASFQfAgctm/zzH1uy8vFV7IiLVHXASsSDPI1aNAgpZ0N1Mt8gdC+ffsifaPsiwXRYcOtDSTZp7R/gLJBLJd0FPfgIgABguCGRCWbEqGVYd+VaWkySYM9JKNHj3bsJ0lHZJAvHZRKwoxb0rLkwTnXp0+fhGc9CIFcENAnwRmiV61aNX9wGoen8Tv66KNT/v7zn/844hyKgoYFFTsDUbaCSp89BIWaFWdbLsXLDgFbQsyFYNKe0Kxcfvnl2RXCOff111+n/L8M/28P1f/PrMFTRCFwEBGQpiRD8MfM/J7bvqvkM9/LLrvMd36pkgl3+6cKJz8hIATyg0D8i5tUqdb7ZqGr9+1fUgWRX4CANCUBGLrNOwLaU5IhpCeccIKrsadE88Ex8xw6JhECQqB4EMhoIrBhtXPlm+YpnpdTSYTAIYyAlm8O4crVqwkBISAEhIAQqEwIiJRUptpSWYWAEBACQkAIHMIIaPkmw8plA97GzXujWNj5KM/GDQbBMlInR6nrRggIgUwR4AyUO++803HAWjqir2/SQUlhhEDFICBNSYFx5pNgbIlIhIAQqBgEOC25vJNeK6YkykUICIFMERApyRSxJOExgS4RAkKgciCg/9fKUU8qZdVEQKQkD/XOCZZm1CwPySkJISAECojAAw884M0eFDALJS0EhECWCGhPSZbAxaNxrHft2rW9TY18HDfPoWJ2fLvlZW4cM84hVSbJwpXlZ+4cboWdFGzSmCVf/MgjmZCHxbH8ONEVCePH4xIm9Lc0OLI8NGsfj6fn9BGwdhHGMDe1lRCV/fccZz9s2DBv8gCbVRIhIASKBwGRkizqAnsdNqBecMEF3tgYyWCj5Pjjj/dm49M1zJcsewYUbJmEx7czuPfs2dMTA0zIT5w4MeEUVAZ5DJlh0j70owPGDs7cuXMjcsAJquxzIQ7kBqN7dpz38OHDvR8ntSJ20urUqVNd586d/TPGzMx+DWEs7/i7cDKnkSezx0I8yjN58uRSpCseX8/lI6C2khoj2n/cdhAxWMLBIORTTz0FFU+diHyFgBCoMARESrKAulGjRtEAj0G78PA0vrJhFvbggw9mvcE1mfVWjnQ3goBl1nHjxiXYF4EooYXAsN3QoUMTjPpBCJ555hlvXA/DZ3Ez8riZdWAzVQ9x6devX5QHaZM/RImwdevWjczax426ASnkCENrECVm6yxxoU0ifcpq2pYs4FeUAAG1lQCMJLeQku7duyfxcf6ruVtvvdUt/9MDzrm1ScPIUQgIgYpFQHtKCoA3SyJ8Blzep8JlZQ2xaNq0aYI3Vk3N+ipaDLQTJgz6CIM9WojWrVubl79iDbZWrVrehD2ddNwKMSTFyIhFJJ0wDz59RqOCEN/My1veuDNrN4KCtsYsDKNVMs2LkRvLR9fcEKisbQXSCllGDnZbSWY9O7daUWwhIASyRUCakmyRSxGPpRvMo7O35PDDS+zkpIiS4AUhYHklJAq25GH7ODiLgR+m4jk7BY2NybRp0/wtZAR/yMXNN9/sDd+hAYlL48aNE7Q6lke4F2Tp0qWR1sTi2zKQDS7kw9IO5MS0OhbWrosWLUogO+aua3YIVNa2cuWVV/r9TMXQVtatW+calFiOyK4iFEsICIG8ICBSkgWMq1atcjZwszbdokWL6HA0iEI6Szfvv/++a9asWancLd1wPwmBbMnj7bff9gM+anuTe++91xMG8+vUqZP3Yl+K+eEA0YGAxIW0Qq0I+0DipAK3O+64IyEqpIl9I5SVpRk0IpSTWbBpdYhAuWw2isYnV7P2CYXI4uGll15y4J8P6dWrl2vYsGE+kso4jcrcVmgnCG0vm7byt7/9zbGMWt55JLT5F154IQHbcDkHQn/kpsWuQdujEsLoQQgIgYODgEhJFrizBGGyZcsWV6NGDU9K2Mk/YsQIl84mV77USSbJCEGY3+zZs30nbksjYRoLFizwfrZfA61F7969ow2zEA8GAfO3uOxRgbyYWDr2zJXlFxtIIBlGLPr27es35YZh4/fsQTENDZqbG264IR5Ez1kgUJXbChrI8ggJkJZFStBi8v8xb948x4muEiEgBIoDAZGSPNUDa/uPPfaYX7JJJ8myZtfJCAFLHqZpYFB/5JFHkmYRJxeQCPaQ2CZWiEf79u1d27ZtPalgpn3VVVf5vSJGMkg4nk6oYocg8dUCYdCMPPnkk37jLPEIB+FBNf/QQw/5MuLG4Gl7UEJyk/QlKsDxiiuucPwqu1TWtsI+JDSKtM9s20ouZhuYNPC/itZOIgSEQHEhoI2ueagPCIntIck1uTVr1njSEKazfv1616FDB+8EyYhrOiwsfuEyDO4sL6DZQNgjMmvWLMcnxQwI7DNhk6t9DhymE5IUiJCp2IlHHJ7Z1MoXNmx8haxAUBDC4I4/nxjbUhRh4stClqeumSNQWdvKs88+69g4jRyMtgI5FyHJvL0phhCoCAQO27d55j635eWKyOuQyKPrgBUJBvkaNGiQ8isbVMzXXnut11BUVgDYNwLxCIlKNu/yxBNPuLVr15YiQdmkpTjFiUAxtJUVK1a40aNHu127dqUFkgzypQVTFGjckpbRPTd9+vRJeNaDEMgFAWlKMkSvWrVq7qijjop+Rx99tEv1+89//uP9M8ymqIKz/MKSTbi3JdMCMlixqfDyyy/PNKrCVyIEiqGt8Cn+119/nfL/Mvyf5X9aIgSEQHEgIE1JhvUwZub33PZdJZ/5XnbZZSlJBx0kXwlIhIAQqDgE+EIuXXMP9b5Z6Op9+5eKK1wlz0makkpegUVefG10zbCCTjjhBFdjT8nM6gc/+EHCia4ZJqfgQkAIFACBjCYCG1Y7t9+MUwFKoiSFgBDIBAEt32SClsIKASEgBISAEBACBUNAmpIMof3iiy8Slm8+/PBDLd9kiKGCC4FCI8ApreludK33zSZXr9AFUvpCQAikhYBISVowlQR655133Gdbvokc/v73v6f8+oZ17VtuucW1atUqiqMbISAECocAhISN2WxIT0e6tDrM/bzVYekEVRghIAQKjIBISYYA792713399d4oFrOxVIb3+CQ43RlblKhuhIAQyBoB/t8gJOn+3+3dyx6x9AhM1oVSRCEgBNJCQHtK0oIpdSAOLZMIASFQORDQ/2vlqCeVsmoiIFKSh3pv166du+mmm1JqTPKQjZIQAkIgDwg88MAD7owzzshDSkpCCAiBfCOg5Zs8IQoxOf744/1x8+kY5EuVLbZBOAo+bnQP67u4cU0m/fr1cxzhvWPHDu992mmneavA8WPpOQRt2rRpZaYfpm154mbxuDf7OaF7rVq1/NH1Fn/mzJneerA9h1fS4qhxDPVx/D12eJ555hkfJP7eYbyqes9puB07dvTHshsGZj7ggw8+iOrc/LhSR/Xr1/d1be5YkD722GMT0sGP9M8+++yEU3st/fAk37gbdpUwgxCve9KjHdImsZGEUOeUx56tTHYlrVNOOSUqg6WBfRyOo8+XYNmbPSdPPfWUe/fdd/OVrNIRAkIgDwhUOk3Jx2t3uCf+z4o8vHr2SdBBtmjRwv+6du3qB35Sw0gYnV2u6mFs6WDwLhQ69IkTJ4ZOjnD8TOjsx4wZY49+sMAejVnoNY9Bgwb5tCACJhjOI30GBhP8rRwQDCwOM/jw4z2NHEFwsMMSCie4ms2b0J178sBgH4MWBgERTgIljfB94vGq8jOn4e7cuTMBAojrP/7xj8gN/MI2YoQkxBQr0Z07d47sIREZokG7Cesed+qYXyiEsTyxbYQNGcgv5gNC4hC2Q8uDfMsiJLRRyA3pW7uifYTvE5Yj3Xv+F7t3757wIy77wG699dbIplO66RVDuJnz1jl+EiFwKCKQtaZk5pvr3PKPt7lax1ZzN/+6SYTN/U+9n+D29qKNbsF7n7u7bmrm7N4Cx+Ma2QjTs7B27X3XPPfOks9ct582dCfVq2nO/krep9U/xl3dpbCqWQ5mYnaPQEqYeZpgC+eee+5xDz74oOMrgGwkmfVXtApmKdg0CQwKWAw2TYhZ8zV/yzscLCAXCIbxsNRq78FghbZn7Nix3s4NYSAKRrAw2hfmdf7557sBAwZ4bQvExfxIn7BYAx46dKgVIZolM7CSR0hYmBFjHJD3xpCfpDQC4Gn1bL7Lly93I0aMiMgAgzn4hfVP3WCALtR2EB+szQ3i0b9/f28GwNLmSp60CUiLhaVN3HHHHd4iNGHMmCO2kVavXu2o/5NPPtm3LysHBHXevHlh0i60FIw/pIQ0ENorcflBSsL2m5BIGg9GSsoKes0117g172x1zmU+0YEYLP9kq6t1TDV381VnR1nc//TSBLe3l2xwC5Z97u76TXNn9xY4HveJqR94rzA9C2vX2x5Z6G+7tGtgTtGVvE/73jHu6st0inQEim4qFQJZa0pGjv8fN3j0X92YZ5cnvPDE6R+7KbNXR24QEtwQ7onzyrxP/e+WYX92F/6qxBgg8cK4USLBze3Xn+seH/rjUoRkyQebfdrrN3wVhD44t7Vr13Z33nln1ntMGEiMgNgbLF26NLIUbG7xgQprvnErwcw8Q8u8DCKo1LHyCxExYTbNwEMnbir62bNnR58yEx4SYn4MkEYs4uWYOnWqz7N169aWvNeyMKBhTblHjx6ROze23MR7s7wgSUTAyGboalqucMAGP5ZsQqFuwjYBGQjbF+2DOocUEtYEzRwCUUAjY0IY8qT+uTetBv7Tp0/3y3W0K7MqTX6kMWrUqIQ2DXFHw4ZAWIyQWD5ck7136J+v+2yJ8Mg/LHOD/7+/ujFTYn3grI/dlD8FfeCyz93EWQf6wGWf+zivLPjU8bvloT+7C6/fP1HgfYgXxk32jv17nONGDTi/lNeSlZt92us/O/h9YKnCyUEIpIlAVpqSjZt2u883/8v9omND9+Lra70G5KLW+zUH6eT7yOA2ruXZx7vbH/qLm/FGetoElm3QkiD16lZP0M50u+V1t2nrHu8HAYL0EGb64x2j4lw/eJ776O/791rcO6CVy6S8USJp3qCBQFPCGSWHH15iJyfN6L6zZ4YYqq5ffPHFhKUNGzTCNCEuDPzMOjdt2uTTgdxAEhAGEAYoyAcqeCMY+BG+Q4cOPhyDEGEgOWhAEGatqOmZVTOIQWwIQzlC0tOlSxcf3gYv/+BcRGAgNjfccIM5+yUb0kGIE9cGRAGr8A31ADbhMhz1FeJu+IUExIgLhAMhDgIptHoaNmyYmzt3rncnPeKgPVu0aJHXklA31Dn1jJYrzJN4+EFSevXqFWloILi0D4TlGtKg7YVn9ZiGhTYYEnDytzx4bzRyhRY0Tuccl1kuGzfvdp9v/Zf7xcUN3YtvrfUakIta1k87kUf+37auZePj3e1jFroZc9PrA9GiGGE5q0FtF2pKut3+J7dp24E+cNbHnvDUq1PdTR/506hM1987z320brt/vrdvK5dJeaNEdCMECoxAVqRk+p/W+mI98bsf+yWc2W+vLzXIo7lAtn35ddJXgGQsfP8Ld+LxNZL6xx3rn1DTXdruVLd4+SafZ+jf6px6Ph+Wdc45s47jORTTxqBlnM92ZgAAIABJREFUmTlnneszZL6b+386l9K2hHFS3WPsyzp8Ns2xv4T9JMgnn3ziVerlbXalM7bBOMzLyAazzlBsdmpuDBphZ447M87Jkyf7gZ1ZJgQgTAeSgzqeAWLbtm2ewFh6DHoMRsxYWV7h/eIkAT9+zK4xV86gRDnCgZD0Us1wSTOc3UOiWF4IByMrU6GuEMZXX301L8mPHj3aNWvWLC9plZXInDlz/FJYqE0INRTEs/Zoy3G4EY82Ym2AZRLanKVjadgGY+rGlvTYK9K8eXNfpBtvvNHvAUKjEJIE8ho/frzPG3JC+jxDfuJtAu2MEdzwPVlGCskKZba4kGwraxiH+zfffNNrhTgHKJVQlhdeeCEhCHtMECYNEyZMcPW++cid0zazc0qmv/l3n8YTd17glq/e5ma/s77UII/mAtm2s4w+cP0Ot/BvX7gT66bXB579/Tru0ranRloXn/iBP60a1/P5vPP+Z+6c79dxPIdi2pjb/7upmzl3neszfL6bO+7n7qTjE5fAwzi6FwIHA4GsSMmcd//pyQR7OiAVaDtG3vGjqPyQg1bdXoyeGzWoFd1z0/N/vRk997/2nOg+1c0xNY/0+1LYN8JellDYrwIJGjXhfzwh4dkE8kN5WPI5+cSj3dVdG7l5f/3MPfPCxz49C5fJ1YgDcbZs2eJq1KjhSQk7+dnRn4510rIGsmRkI9kgz6ARduZWftM0cGUAuf322/26P1f2v4RLJzNmzPDRIEg2O8UB1TuDjAkzdNOM4MZAAXFhAKMccXLFDNfU95ZGsiv5onVhcOPeBqNkYfPpBg4/+lFJe80l7YYNG+YSPa24tnckDMwgD5kzgdyFdYh7vI1ACiDQphGDpEJiTSCqLL3QdqhDaytW31u3bvXaGto/m55t+Y7669u3ryfBllZIjnCLE1wLx6ZpW77DDQJlWhbeqaw28cMf/tCVR0hIryxSwqSBpcQVK1a47m1KDGxaucq7zvnrPz2ZYFCHVKDtGNm/RKsDOWh1TcnEotFpsT5w8JwoC5Zj0hE0G/xY9okL+1UgQaMm/Y8nJDybfLx+h6M8j9/xY3dyvaPd1Zed4eYt3eiemfmR3+di4XQVAsWAQFakBFLQ7rzveSJw1n/V8oM+g/+ZDff/413Q8nuOJRqEPSLxJZrJoy/xyzcsqbCv5OxGdUppWvIFzs5d+4+EZ+/LmGfzlWrpdBgkJk2aVNqjDBf2nSST+EBCGAaIeOeMWzjzTEZcBg4c6Nq3b++4QkBCMmV5M8OOb6xlqQZtBloVBNU8mhE2rjZu3Djai8LgFV+OIXx8hstGVvuclTR5hjCxTMRGTYQy2MzcOxTwD5ad+VUmCbVLlJtBPmwT8TokTLyNsJQC/mhG+FKHejUSa+GpO0s/9KO+aEPUnREONCOQEZZ1ILFoVGiHEM1Q4lowCOiXX37pl5AgvHyBxV4iylu3bt2I5PKOlleYHvfxPOL+qZ4hKhCSbDeikzbakXbNT/JEgKUUBn0G/zMPkI8Lmn3PsUSDTPnTJ6WWaCYP7+CXb1hSYV8JWpBCLadEfeCU5aX2v6TCSX5C4GAgkDEp4QuaVev2781A42Dy+p//GZES3Ngzgrw2v+STRQtr1y4dGrgJ0z5yH6zaVjBSYnmNGvQj1+WS0rvVzT+XK8smdHT5EGbe4d4B0jz11FP9GRJh+mgiwkGDgQFtSCh06HxV8de//tVvNAz9uMePL4fYKxJuSjU/zq1A2H/w3e9+1xMHZrLMtG2WzMARHzAhF3EtDp+nIqj3Gdj4VDn8cqQs9b6PVIX/sFGUegoFNwhFOGBTh6YBsbDxNoI7X87wJVf8Kx38rr32Wh81WZ4Q2zp16kR5Uv9Wj7jbFz7xvSMkSBszrYvPwDnfnrjnHYhLe6Dd0D6QZCTb4uZ6ve+++3L6f+ULmlXrD/SBS0s+q3994T8iUkIZ2TOCvPZuac2GvUOX9g3chBkfug9WbysYKbG82Bwb7kMxd12FQDEhcNi+zTP3uS0lX8CUVzi0G5CRj/+0/3wJwp/506l+GWf+8z9PuMeP5RY2nxKee76+ua33uT4b06DY/g72frCBtle3koOS+v332Y6lG/uc2PaUWJhwqcbKwd4RtDnmZ+myVIRWhq+ArvzZfyWQqPLe2/y7DljhNm4usX3DJ8Dl2b6hs0djcahJXI2fy/tBbJJpcnJJU3ErHoH4Ul+2JbD9LmjtMhWWZNjrk67tG5ZvumewpwTtBssfH0//ZVS0M7v90S/jzB/fxYX3BOAzXb6+ITz3fLFz2zUH+sADm1xtfwd7P9hA26tz0Af2OMf3gWx03fHV3mhPCWHinxRb3uwd4XNlW8axdFkqQivDJ8pX/uT0BBIVvUw5N+OWtEwIgRZVIgTyhUDGmpKtO752XX+SqHFgKQd3hI2mdWuVbBrjLBLcEO5Z2mGDK0I6A6/7YbThlKUghK9nTIw8oE0xd/ax2Bc2Fo7r0FtauLFTVrrbRvwlyhP3Cfe3c4NGLYo+Xyb+dd1L/unDNPJ9v2fPnpxUzfkuTz7T+/DDD31ytsExm7RR5bOMY0tF2aShOMWFAPWJZiyuQUu3lLQn9pOwCTUbOfroo9MmJNmkv/XLPa5r+1gf2PwkhzvCRtO63y3ZgAtxwA3hnqUdNrgipDPw1+dGG05ZCkLCfSNGHpZ+tMV/PWMbYwlj4X0k+sDrW7ix01c6zjKxPPGbMLS9G/TYX6LlG9K4rstZFk1XIVA0CGSsKSmakh+kgkxeeK7buadkY1zPnj0TDk87SMVStkJACGSLwIaXnds4K9vYVS6eNCVVrsor9IWzPjytQkupzISAEBACQkAICIFDHgGRkkO+ivWCQkAICAEhIAQqBwIZ7ympHK9VuFJ+8cUXbvuuklNa2VfBGnYqsYPVUoWRnxAQAvlDgAMO0zkviBzrfbPJJX7EnL9yKCUhIAQyQ0CkJDO83DvvvOM+27L/7BOi/v3vf0/59Q0dI+c3tGmz/9yWDLNTcCEgBDJEAELCZ8ZHHVWy4T5VEl1aHeZ+3uqwVEHkJwSEQAUhIFKSIdB79+51X39d8kkwnx2W90kwcSRCQAhUDAJMBCAk6X4SvHcvG9fTIzAV8wbKRQhUXQS0pyQPdV/eWSV5yEJJCAEhkCcEzjjjjDyllF0yHAdvv+xSUCwhcOgikDMp4VAzDkXDcjDyxP9Z4Z+/2l2yxJELfKT93MxPckmi4HE5vZQTLzHOJxECQqC4EeBI/PiJw/ku8cx56xyHrHFoGZaAw/6w5+A5jh+2ccxoX77zV3pCoLIikPPyDRaCMYSHNWCM8mFjhmPoO114SnTUfLbgYGSPE2CH/6/zsk2iwuI1bdrU2//AAu327fvNg2ebOcd8cwBV/DRLTrnEjQPHsHUS98fGCHZNQveZM2e6Tz/91Jn5eisTp6dOmzbNP7Zt2zayN2InaVo4u2IkjTJxxYZKXCxv3MP0wnAcS47xNY5ED62/kmeYrpUtdAvTqUr3oZ0Ye2/ax7PPPuvrFOyS4Q3WmAkIjSUmcyNNrD6vX7/eYRzP2om1QcszvFpbCNtZ6G/tE7frrrsuOprewpTVVoj3j3/8I6FtlFVmSyubK8utTCKefvpp98Ybb2STRMo4dmorh6QhHJT20bod0bHznOwKGQkN9qVMUJ5CoAohkLOmhNNZOaWVI+MhEXFB08Ex7/ab+ea6hCBoVsyPK4b9kG63vO4GDH/X33NMPX64hcKR9xYXjY0JaRCW8ph/PF8Lm80V42SXX365/2FLxE4jZRnnnnvucVxzkcWLFztswYTCQI1VV2T27NnRfRiGAcXCmPttt93mxowZY4/+ClHByiuDED9mjnEyQhn4mWBbh7STERIGNYyqIRAO0uNUThPsmFx44YVu7dq17pxzzvGkKvQP0yWtzp07ewNtyfKyNKvKlbrGSnAoEBIznAd2ENRQGNyp8w8++CByNjfwDYV6wQgk9Ub9JDuFlTywIIzQXl566aVS7dPSpF4hr9a2MK8Q5mltBX9rK+bPu0KOTCgb7xkSK/NL98r/4pAhQxJ+Fvc3v/mNu+aaa+wxb1dOWsUqMEfO28/s4JSXCYQG7Yr90Lggz/3fVd4No38mHDtPuI2b92up8et2+5+8G1dzt/C6CoHKgEDOmhJekuPhsVnz5PMrvPXg8MXRoPS4/Pvu/GYnuOFPLvVHwJ/3w3r+aHmWZbASjC0cwkBw6p+wfwmk1Tn1vPblnSWf+SPjeQ4FsoFg52bmnHWuz5D5zmzoYBXzxdfXevs3HGVPuhw9ny+DfMcdd1w0+8PaLAbHTLBeyqBsZtHNPZNrMouvGFFjQEewpoqZegZ7M8rHoINRwNB8PQb6unbt6q27hvmPHDnSWxi2uJAsrP0y87XZLwMCVogtDOmHaVt6EJyxY8dGBvpwRwtitmy4curt5MmTo7Qw8Ef6EC3IjqXL4ERas2bNSjo4Wp5V6Rq39Mu7z5kzxxvfo/6RkDzyDCkAU+rVhDaJYb8pU6aYk28/PNAeEOpt9erVjjqljqwtQEosDOFoVxj7i4sZhMRoowlloP5JmzYUbysYEYS44G/vipaG9PlZGSy9TK98rp/qk3zy+Meitc659zNNuszw9epU91aDWb65+rIzMjK0t23n167HT7/vzv/hiW740+/54+LPa1LPdWh9shs2/j33+xdXupH999frlD+t9mU46fianoB0HvCqt1zc6+dnuZF/WOauGvSGJ0VlFlQeQqAIEchZU8I7nX7qd71BPiz+YvkXMevALOnc/Osm3q3bT//LL+1s+GI/s9+xs+SrFMgI4TC+h2BMD6KCQEh4NgN7aEIgK/iffOLR7uqujXy4Z1742F/tDwb4yJ9wZn/H/Ap5ZW8Js7BUX+Wkyh8tiREQC8eM0azAYpmXzn7lypXm7YkQpuxtsEBFjql5BhMGKBvAiEAYSAiDBALxMKu/liB5GCHBLRlRwp30+eQ5LpAhlodQv6NJCtMiLPlBWF577TX/LsywbcBKNluPp19VnqkH6jUUNCcdO3b02IFzaKEaYle3bl0X1h9ukGU0abibUCc8h1oyCAWExIR2Y6TR3CAPnTp1ssfoSnvjU9xQyMPaH2Qp3lawEgw5RSgLJLVFixY+XK6EJCxHqvtTTjkllXfGftNH/tT94uKG3vrvxTfO8pqLdPeOQDhuvmq/de5uF/+Xt0a8YdNubxsHWzYzDhjwQyvyzvufuRu7Nfblm/7m3/0VEnRyvaM9scE/3XwzfklFEAIFQiAvmhLKdmm7U722BG0EWgmT2x/6i1/asefwCgmZ8+4/vT/LPxjKw3jemQ33G+YLw4b3aEIQ9q+MeTb0SbxHO4OQjxGjxBCFeVq3bp1jbwmfJh5+eMlBa+nmRufM7JSfyYsvvuhnxNaBs4fFVN0M/JAUBou+ffv6KAxAQ4cO9fcMahAYIwZ09qY6Z7Bij0CoIrc8LG+uEKX4gIM7ZWWWW5YwM08Wz8Izy2eQjZMw86/KV6uH//7v/45gMAICcQM7rPJS7yYQOzQWGLQzGTZsmJs7d65/hCBAWCEDCO5oUUivV69epTQTpB0nRdS5tSXLw8iLpWvu4ZV6DrUooR/vyvkiWJyNk6AwXCHuIfzN92//yFvyEBOIw0PPLvPkZMD/XpCW1oJNsUY84oWBpLz41lr39pINbvY76/0S0dWX7Z+QYT141fodrs/w+VE0lpAkQqCyIZA3UoIWA4u+COQCYU8Hm2AfH/pjTwrY19G175+8n/2Z/nhHf8veEpZysOZrbhamrOuoQT/K25JMWXkkc6ejtoOZ2ETKrNX2lTBQPPbYY+WeJvnqq6+6n/3sZ6WSt4Eo3nkzaDAQMOslr8aNG0cdPAM/pIEZJmHQgDAA8IUBs+CtW7dGBMYyhEjwIz0GAgYnG1AWLVpUiiQwEMUHJ0sr2RWMICOUK1zesrAMYpSVcvI+48eP9wMs5S30DBnCCP75kNGjR7tmzZrlI6lSabBkZ9iYJ7ih5UIgKGjPICK0GzRTaMFok7Z0Y1oQNkAj1OOGDRuiuqbOwR6iYnuBeDbxA3bz5vYYaTUihzRukpEYi8ZSDeWhzTVq1Mgv86EtoU2mIrtgwxJg9eol1ngtzfDKPpn77rsvdPL7S3DYvXu3/189o+Ya1/x7+T+n5MzTarnxd7fzln0/3/qvhDIke0CrMWrS/7jH7/ix15awn6TrwNeioBAQlnCe+7+fuHlLN/qlmsjTOU9S3nuuW6RtDv10LwQqCwI5kxL2kpjENRzHHr1/KWbpis3+s95hj79nQf0VkvLpxl1+v0mtY6u5Rg1qubq1SjqHlmcf791emfepX35Z/vE2v4SDO5tr0cgQ/+xGddyC9z73pChehoQM8/SwZcuWKCWWaGxQYic/O/rTkVAzEYZPRghsFko4CEfz5s2jmSqDTo8ePXzHbukwuKAlgbggaEUYuBjsmVmHmhE6fvzCgYqNj+EnkwxYiJEW/3DgDxoOiE04gPCM8I4QGUhTOLOmzGvWrIk0KDYIovFhf0Ghv7phyeNHP/pR+BpZ3zds2DDruOVFjBMCwttyF3XCYE+dQESoPwggy2LUMT/CoG1jP48JG1ZJA6LIZmdbtiMdtGxGeCw8GhfTvuGWrH3iTv1SHvIM2wnLcuCNoAGx/SrewTmHFoiy0q7R1Fg7gYylIqiEK4+QkAfEY8WKFZZddOULOcgpWs0z2pRY/Y4C5HDD5tOzGtR2p598rFvzz51+maV31x/4FPk0+NEpyx17R5Apf/rEvfbup65fj3Nc1F9+tMVvbIWAxKVr+waeuOA+65GSSc11Xc5yE2d97C7t90q0pLNs1ZZo/0k8HT0LgWJFIGdSwl6Nti1OTHg/Nr5CMiAIbGJlaeajv+9w4+670D36h+XRPx+EYsrs1X4ZBu1Ku/O+58YPb5eQ1tBbWrixU1Z6AhLuC2GZB60KSzgI8a/rfqa/558b0mL/5AkJFuhh0qRJflBIN/myOtQ4ISC9UIUeDhJoGZgtM7BABIwgsCQTkgQGIFT4CB0/s1AjLQxQiA0G3JMfm1xN2FiJ2Kybe76eYIloxIgRfnDDDRJEegyEbFZF0JZANBi8mb3jb4MnA1GoqmcwYwBjYDSi4hPJ8x82J/Mrdgnr2spqSzb4GXaQTqtTwtEuqBfIaTjQ40fdQnZs3w6kAdKBdoLw8T0fcS0HdYaEbcE+SaZN8RUWdU6be/LJJ/0ykhEflpX4Ggw5+eSTvT/7X4wYh+TH2k2yT4qJT7xsBSLCRnRbCss2nbLisdH1o3XbvTbjxLo13PD/5zx312/2a5s2bN7t+DoH4ZNhPhdGrvzJ6Q7Nym3XnOuXb4g/bvCFnsCE/djAX5/r45AH4U3Y7DpqwPl+gytkhnwJIxEClQ2BnElJsqWWkFiw0ZSfyUWt969l85zOXo+ru5zh+MUFwpMsb8LhN//5n8ejFOyZQZYZWT6EwZuZYyinnnqqP3MCN2bFRiD4moKlI4TNemgY+AyUASkU2y+AG5sYv/vd7/qNqywRof63QcPihHngRtoMbqFQJoS0p06d6s9HsfRsCQp/iAZLQywfDB8+vFR+DD6hsHE2HPBCv6p2H68H3h8N1hVXXOH3kxh2PHP+ixFR6qp+/fru9NNPL7UUdu2110YwUu9opyAPderU8WQi1OCxtEIbCwUtHXmFQl4I+dNW+LQXjQxpheTS2l7ob2WOvyvtZtSoUZ7UhJqXMN9s78EtX/+vycrAfpKyBCLBZ8JlCRtd7esawlzUcj+2Fh7yUVb8Lu0aOH4SIVCZEThs3+aZ+9yW/Z/XVuYXqaiydx2wwm3cXPLVUHlHzKMRYSBAWyARAkKg8AiwXMNen3Rt33RvU811b1uybFz4ElbuHMYtaZnwAmjpJEIgXwjk5ZPgfBXmUEyHL3BsJnkovp/eSQgUGwK1a9d2e/bsKbZiqTxCQAikgUDOyzdp5HFIBWFT6c49JRvjOBgq2dclh9RL62WEQCVCgEkAe7zSlg0vO7dx/x6otOMooBAQAgVBQJqSgsCqRIWAEBACQkAICIFMERApyRQxhRcCQkAICAEhIAQKgoCWbzKElc8tt3xZEokj5WvU2H9YXIlryR3nmPBlQbZHzpekpDshIATSRSCTL+Ka1F7tGtdON2WFEwLpI/Dtt9+6f//73+lHqOIhGSdFSjJsBJCS8OsbDlJLRTiOOOIIf6aHvr7JEGgFFwJZIsDXNxzYxybztKRNNddYX9+kBZUCZYbAv/5VcrhoZjGrZuj//Oc/Tss3Ba57SIlECAiBikWgWrWSzegVm7NyEwJCIBcEREpyQe9AXEyjs4wjEQJCoPgRCE0oFH9pVUIhULUQECnJQ31zvDpHdHO8u0QICIHiRmDgwIF+n1dxl1KlEwJVEwGRkjzVOye7DhkyxHHNVTimPX7UPGnixtHfcT+OZY8fzU4YjhDHkio//HlOJtgkwQaKCflbvPAa5ovhNfzCI+XNzcJhj4d70k8mZbkTlnQpUxiGtMgTDA414d3i78X7J2sLZdV3WG/gRjjqJC74hfWNv2Eb1ne8fgkTb0MWj7yxi0O6Vu54vrQHwiUT3IkX1jfPlMHs7SSLl63bNddc4/hJhIAQKC4EtOEhi/rAsNxxxx3nY1522WXe2BwPaErQmGDsK5ll0nSzwhJrXLAUjAGxY445xhtcM38GHQzgYZwNK8AIgxEGyzC8Rlk58A3BxgmDCDZqTIg/Y8YMe/RX7NmYQT6M42GkDW1QeEgc74lgQt6Mu2EkDqvAGFZjAGIwGTx4sDcCF+bL4Eu6hE8mDFCDBg2K4jI4YUMF2z7kCwaHklAHbKCOv9e8efP8e+Nnkqq+aTe0QTBHMH7IBuuQCCSrb8JaHLODY23G6pb6pP1hnBFDjCa40VZoG9QN9//85z9d586dE/KlTdJOw7JYGmXVN+2IdkKbylaYJJRFPvgqjtNfP186PtvkFU8ICIE8IyBNSRaAQkgwEsYPa7Phsg17S+68806H6fVsJZmlYAaYZJ0zAwHWgUOh88foGIM+gwsG/PgxsDPAhQMDAwzWXeNicbASi9E0nm2AgmxY2mvXro2iYmgNg22ERSgD9+RhFlkxXc9gQHwIkwlp4odASCAgFpfB2STE2twq+xUszOKvvQskNJmkqm9rN+DGD5JKOwy1G+XVt9WrpWFlwMo0WgyrR9ypM+qDsMSz+sbwHu8D+YQEoe3AunH4junUN+nS/nIxyHf00Uc79nyFP3snrm3atMnpfzVMS/dCQAjkjoBISe4YlkrBziYp5ZGmA+blMUfPwGQ/OvXQgitJ0eEzYDOAmzAjZSCiI4+bnScMAwNm6hEGBgYZSAfu8YGQ53AgsTweffRRP0BBKiirCfdGNEiTMpAGmg6ICHLJJZd4q8QQrKZNm1pUb7X4008/9e9EmeLvSsAFCxZ4K7lRpEPkhvcCD6trrnzSGie25dU3+Hfq1CkBFSwFm1Xf8uqbiMnaDG2qa9eu3sI0/iZhfVBf/CC8kCDICpof2gDWiNGUhaSauOXVd1ntz/LP1xWtokQICIHiQEDLNwWoB2asLOFkK3T869ev9z9LAw3HiBEj7NF3/g899JDDTH24rIKWZO7cuX6AS0YoogSc8+p2ZreIEQxmpyZoZ4xkmBtqfITZMBIOUvEBjZkyywG2DEF4W6JgZn3HHXf4NPhjS0+kHw5eDHL2HhyIZctKUcRD4Ib3AmfwNmFJrX///vZYbn0TMI4/btu2bXN16tTx6aBlSVXfyUgARChcdqEuqBO0Zsnq4/e//71fDpw8eXJUdm74n0CLZpJOfYOHkVmLl+8rZ5ks+vOf3Y9Pz3fKSk8ICIFsEBApyQI1ZqRHHbXf1DmzvY4dO0az2jfeeMM9/fTT5ab60ksvuSuuuKJUOBsYrNO2AAwMtnzCwPDhhx96lTlLMggDEup105KwbyQc3AnDAGMDF4M/92g9+IVqecsT7Qwz3FDGjh3rH+PuIXmw8BAQyke5mG2H70Te9j4WnitkjNm9CXtWjBhZ2c0v2+t1113nB9ps44fx3nrrraRanTBMefe818iRIxOCGVHBMZ36Bv9kArmZNWuW3+NTXn3TruNtBiKDWH2TxoYNG3zdJasP3oPlGvaCoCExIe0bbrjBHqNrqvqm/dlelyjCgZs//vGPXntTvXr1uFfCM8uL9913X4IbG9KR7du3uwcffNC1qv+Zc6fv/39OCKgHISAEKhwBkZIsIOcUVxOWapo1a+YfsUzKYJKOJCMkxEs2MBhRCdOl82cDaijEtfzZkNihQ4fIG63FVVddFc2+2SOARsXW68mDgSSUuHYGYsGgZUSIsAxAxF25cmVEHlDf16pVyy8LEYbZerhUk+x9LF+WrRioTFjGmDp1qidUpjExv2yvzzzzjONXDFIWmYgP+OXVN+QtvreIZTNIKuSPjafl1Tcbo0NtBss9aLTCMtIGbLnJ6gN/tHbWLr788stS5Ib3SUZCy6pv6gaiHGruwvr65S9/GT6Web979+6km87XrVvntZnk0aq+DlorE0B5CIEKRkCkJA+AowJmuYaZXa4SHxhIL9kyCu7s2wgFVbctj0Ao6HAZ1BEGBZZ62OjIwGIaFYuPuXfCxMUGEkiNLQ2FYSApkCFmpEY80Bz17t3bk4s1a9YkaHSIS/hQLQ+JYd8DmhTeCaKDEBfiBXFigIzP4sNyVNZ7vpiJk4mySFuq+qbdUOeGHXgYgUy3vuNLamjQ4sQXEoEWrm3btlF90EaIi0YMoX4hkiaQFiMwuKVT3xa3EFeWkh577DEHYZEIASFQXAgctm/zzH1uy8vFVaoiLk3XASsSbN/wySFf3JRlZwP18rXXXus/zUzntejAjQhYeNwgDUY4eGYfiWk5CMdAFs4qeQ4l7hc+W7h4GmFZICWmtrfwXHFHIBkTJkyIys5SEdoaPiWO52Vx7H3iz6SkCNraAAAgAElEQVTH8lLr1q2j9BjwGjZsmPA5qs+4kv9J9u64hVinU9+EsQ3MQEJ7sfYRr1eDLO5e3rPFI69p06Z5bRgk1wTiiCTbpBxvS4Sz+uc+Xt+kBSkKP1/3iafxh8/xR48e7Xbt2pU0NNrN8P+1e5tqrrts3yTFKpnjuCUl+87w79OnT7JgcnMu4X9SgJSPAGZZRErKxykhRDJSksogHzY42MNwqBvkg0ixuTFOQBLAy/KBwZKlpZD0ZJmUouUJATQyaFHi2pt8JA+BYcNstiQUUjJq1Ci3Z8+etIojUpIWTFEgkZIIinJvwolCuYEVwEFKtHyTYUPgS4a9+76NYqHOTmX86zvf+Y5r1KhRFP5QvGFmz9IQy0z5JiWkbV9hxDVIhyKWleWd0Iyx94f6CTUe+Sg/Whj+z9AwZiN8joymKF2T8bVrY8lV1lyzwVpxhEC+EZCmJENEJy881+3cU7IxrmfPngmf5GaYnIILASFwsBHY8LJzG2cd7FJUmvylKUm/qqQpSR8rQqIp0eFpmWGm0EJACAgBISAEhECBEBApKRCwSlYICAEhIASEgBDIDAGRkszwUmghIASEgBAQAkKgQAiIlBQIWCUrBISAEBACQkAIZIaASElmeCm0EBACQkAICAEhUCAEREoKBKySFQJCQAgIASEgBDJDQKQkM7wUWggIASEgBISAECgQAiIlBQJWyQoBISAEhIAQEAKZISBSkhleCi0EhIAQEAJCQAgUCAGRkgIBq2SFgBAQAkJACAiBzBAQKckML4UWAkJACAgBISAECoSASEmBgFWyQkAICAEhIASEQGYIiJRkhpdCCwEhIASEgBAQAgVCQKSkQMAqWSEgBISAEBACQiAzBERKMsNLoYWAEBACQkAICIECISBSUiBglawQEAJCQAgIASGQGQIiJZnhpdBCQAgIASEgBIRAgRAQKSkQsEpWCAgBISAEhIAQyAwBkZLM8FJoISAEhIAQEAJCoEAIiJQUCFglKwSEgBAQAkJACGSGgEhJZngptBAQAkJACAgBIVAgBI4oULqHbLLLly93W74seb2aNWu6GjVqlDgkubv00ksd4SRCQAgUHoHdu3e7V155Je2MmtRe7RrXTjt4lQ/43nvvJWDwwgsvJDyHDw0aNHCtWrUKnXQvBFIiIFKSEp7SnpCSjZv3Rh5btmxxRx55ZPQcvzniiCPc8ccf79q3bx/30rMQEAIFQGDt2rVu5syZ7ptvvkkv9TbVXOO2R6UXVqFcnJR8+WUwS4vhc+yxx4qUxDDRY2oEtHyTGp+cfSElEiEgBCoWgWrVqlVshspNCAiBvCAgUpIHGFmekQgBIVD8CNSrV08z9zxWE+RP/V8eAVVSTqQkx0ZwzTXXOH4SISAEihsB9jcMGTLEcZXkjkDt2rXdL37xC+GZO5RKIUBApCQAI5Pbww8/3P3sZz9zF198cSbR0gq7ZMkSd+aZZ7onnngiCn///fd7NxzsnjD8LrzwQtetW7corLmHV8KEcv311/u4pBWKxSE8v9AfP+KZfPXVV1H+5qZrxSBAfVMfofB8++23eyerR7tSl88995z3s/ZlfnYN63bjxo0+ffxCCdseaVKOjz/+OAxSqn2Gbcjik74JaZBWWeWKl8HiZXJt2rSpu/vuux2aEknuCNSvX9916dLFsWekEGJtoaw+0Nq/tV3aj7V9ymPu4ZUwoSTrAy1f4hGeH/uTTHAP/0/UBxoy+btqw0MWWPIlTadOndxxxx0XxX7++eeje27uu+8+t2LFigS3dB8WLlzoVq1a5c4///woSvg1weLFi717r169/HXbtm1u1KhR/p/yhhtu8HF79+7tTj/99Ch+rVq1ovu3337bTZgwIYprHgwu5GtxSXfw4MHe+6677nLt2rVz8+bNcwwoJ510khswYID3s7QsHV0LjwAbrk888cQoIzpT6o7B1+qRWax9+UD7GTZsmLv66qudta/bbrvN1alTJ0qjbdu20f3NN98c3Yc38bZHup07d46ICR027YE2xKBFh04bOu2003zeFp/2Y8K70LYY4GjT1p6t/GHbtTiZXEmb8tiG9O7duzt+JpuWPe3ct3+xR13LQYCB+cc//rFjYoaALz+TTZs2uf79+9tjVldro2X1gbQZxPrANWvW+D7w8ssvdxCmsB+zAoTtqKw+0PK1/w3S7dq1q3vrrbfcRRddpD7QwCzgVaQkQ3DpxNt1uKhgMwSKs3TpUteoUSPXsmXLqHSff/65O+ecc/yzDUgQBQS2PmPGDLd69Wr3+uuve7e+ffsmxPeOB/48+uijXu1K58E/ocmiRYv8bRgX/4kTJzryuvfee/1XRM8884zjH5zBZ9KkSaVm7JaeroVBwLQM4Vq+1WPr1q2d1SNkwNqQDfQQljlz5vj2NXLkyKQFpMN+8cUX3eOPP+5uueUWr8GwdOJtDyKDthAtzCmnnOLbxPDhw317IXGICUR27NixnpRYfMvYCBSDGIMd7Yz8Idlh+S18ptc4Ack0vsKXRiAkIKV98+OSqg+09g8hsT4Q8kt/9MEHH/gfpQj7sXipyuoDLd/wf4P2S/uGlKgPjCOZ/2eRkvxjmnOKH330kU8jVDfC/G1WgCdqaFOLM1vFn47cVI2mxbCw06dP92niz8Awa9YsN23aNE84vIdzbtmyZaXIkPlxZXYLMYKkIMw+mXlLKhYB2gf1Tb3zQyCtEFkG9t///vf+/rXXXnP8jJBccMEF3p/6R8L2ddZZZ7nx48d7d5Y5qFu0JWPGjPHE1UgJAUIyZOr79evXR+3HBgqfmHORRscGkzC+kehwRjx79uyU7dDS1fXQRSBVH2jtHy2G9YH0SbR/lnVov0g2fSBphxpIQ9jKoz7QECncVaQkQ2zp4F9++eVSyzcZJpMyuGlFTPVuKm+WjExNzz8OA9I777zjtR6mXoTh888ZdvxhZvgz02Hwiguz7WT/kGG4fv36+ZkxA5wNYqF/Zbj/8MMP3WeffZaXojZr1syx4a8iZcGCBaXqmE7Z6s60JrQP2hKC1iNckoFcWvvC31TbzAiJEy7Jce4HYm0vXObZuXOn92N5hvysDN7xwB/Sw90GkzC+zUxD0mPlD9OI3+/YsSMqc9wvfOZgLzSC4fJN6K/7zBFAcxAu32SeQvkxUvWBEG2E9kRZIOgstwwcONBPnHDPtg8kX5Zr4gJpNzkU+kB7l2K8ipRkUSucGInGoWPHjlHsX/3qV9F9OjeoqFEHxsU6/qFDh0ZaCDZw8U9Gx83MgPupU6f6f0BmBnS6lpb9U8Vnq+RDXEgMYYyU8A9NnqSNe6iapYyERx1vwnot0qNHD3OqdFeWul599dW8lHv06NEOYlKRYtqRsI4hJUZErR4hjdQhyytGOqx9jRs3LmozYdnZd0KbYJ8Iwr2RBAYD2l7YQaMGxw2NGUs05B0KGxVJg/ZsZCqMz6ASJzJW/jCd+D3vAbmpXr163KvUM3lAYm699VZ/sjJEJTyFtHubaq67Dk8rhVtZDiy5sWT8k5/8xPFJMPg+9dRTZQXP2N3aaFl9IBoQ2tz8+fN9OVq0aOG1gbZPifYDsQj/P6wQqfpAwtBW2ZdlQnjc+H8xORT6QHuXYryKlGRZK//+97/9wMZsk3XzTMVIRDyezQLYG2ASajBsQLJ/QGPtzHAbN27s/4EaNmzoiYbFR8XOPxIDFzNG1lpNevbsGQ06/PPxz0ynsHLlSr8xEo1I+M9t+xVCdbulVVmud955p+NXWYVO1/YX8Q7WiTNI271tNKSdUYe2p8OIhcUzDCAKEAwE0nbyySf7+ylTpvhnHqztbdiwwfF78skno70n+N94443+83g2u9LGaLcs/5A/pIU2Sht7+OGHPaklbZ4ZfEzCPSbmlux6ySWXJHMu042lSfYDMJuW5I4A9c/EDO1tvqW8PjBs/8ccc4zvs2izLA9SLtpUNn0gxNWE/yPKwb4m+sywvz4U+kB7z2K8ipTkWCts9Awbc47JOZZqmAWYJoP0wplj+A+JXzjooL0gLgMBPxMGsLp16/pHOmYjNOZv6nni8s/ND0FrQvhQytt3EobVff4RYNBGOnToECVuRANiwd4h6jEkjZAFNCCQAlsK7NOnTxSfG0gMpBVSGpJsGyAIQ9tDILIIGg7av+0r4kr7oP2w/EM5aEO2zIc/mhv82f+EP1o4i0+adPjx8vvM8vBn3bp1/qs4nVOSBzCdc9u3b/ek9IQTTshPggdSSdUHWvsPlx4hmrQp9pI0b97ct59s+kA+FKDt8b9iEm7aNrd89oGffPKJ1/aQNgTrjDPOsGz89f3334+eM9HI7tq1y5MzImcSL8osyxsrby55HrZv88x9bsvLWRah6kXrOmBFgu0bOjj71DAZGqiXr732Wtm+SQaO3A5ZBBg8QmIdf9Hy/OPhM3nmU3yW1eiY0xEt36SDUkmY1n2Xljw4V2ogDT3R0qKlq6pie67Ken9IFGQIadOmjdfOWFiWjNgrY4LNoThpMb/4FdIPuYqnGQ+Xz+c//vGPjiMpvv/97/svSLNJG7Ms0pRkg1wGcb799tsMQiuoEDg0EEhFSHjD8vxzRWHv3hKjmbmmpfhC4GAgEO57YqBPl5BQVvuqDc1PRQkrBpCgXPMUKcmwxlgKOSkwisl6eY0aNVKmct5556X0l6cQEAL5Q4D9BOESVHkpN6nNTHX/bLW8sPJ3jo2loYQb/kN37rVUFkek5JmlDrQkDORffPFFiYdzDq3Du+++6/24ZrpEZumde+65CemW9ZDOsgthki0xWZosCceXhc0vnfQtrEiJIZHmFVKyc0+JBVLW4O2shjSTUDAhIAQKiAAnLocntpab1YaXndsoUlIuTgcCxElJRlinm0kVCPfGG2/4t2TSytk8oTz99NN+GQTCBykx4sfGYggHG8lDAsAyEDJo0CD/JaUtCZW3IZzDEf/85z9HS0hoZH79618nLBtBKPgwgHIgkChsSPGRBWTJ9p1ZGThc0/aUEI53s/KQPvt0LrvsMp9Wsj+yfZMMFbkJASEgBISAECggApzRg4Tn9vBsWpImTZo4+wjhRz/60f/f3rmF2lGdcXw8hlwI1aAoNhjwIbZGGi/kKc1DUloQlVBBURGiMV4SFbEIigpBQh6UCCbggxi0oqLmIQ+aCIoaQVBpFMXEWANawQcjNRcTtZykXlJ+k/7nrL3O7Nkze+/Zt/P/4JyZWbNu85+1Z/7zrW99X5qXqRFe8N9/P6Gux36ENAjCNddck628bDXlA8F59tln03pZAQfJoB5sUegDgj+nG2+8MSUk119/fWqgTrryaqoGg10RDxESCI9W9FE/5cnDiqYisaakCB2fMwJGwAgYASNQAwIYZEMcpHnSlAtaEmTNmjXpy588evkzNYmI0EAann/++TQNrQTyySefpNuiKR8RH+oONRsUhEjQBwgOMdwgEsuXL08dMHIe7Yv6rOmht956q6FNfMhAeOL6cT5KqBaM0GfPnp2Wif+ZlMSItDhGVfXvQxPGq3gPxIFQM+EcjNHRSZsh5HQj0F0EWKq6adOm5NixY6Uq/sv548mfzy+V1ZmMQFcQCD1Kn3XWWVmdIguQABERTioPDuvQZBw4cCAtI9KAFkJhIz744IP0XJEto8KRoI2RZoNCsXdqpnaQ0EYLg1vIBmRF/rR2796d5lOfpWmJ6xeBSjM3+WdS0gSYZskwvYMHJyz7iflRtCQYUgIjXrp0abMqnW4EjEAXEcCBFr/Lo0ePlqr18Fw+KmaUyutMRqAbCODgjZc69hmhPPzww+khWpK3334701IoD+QEQoBWhSkTSAPH0pKQTxqXhQsXqtikrUiN7ECUAUKfJ6EXZmxM6DvtitBwPYg0JzqO68+rO06zTUmMSJePx8YMcZchdXVGoCUCJ598css8zmAE+oXAzp0706ZlwMpUCy96ERW0HpqGCV/s0phQGGeH5L/88sszTUpo2xHGk2p2nSEJYUpFBrex8XLob0XOEMPpIREhaU7y2oM4YcciLUpeHtKsKWmGTIX0VatWpXNwFYo4qxEwAn1AgCWq/BGvxWIE+oWA/IjMmzdvUhd4nyCahmHKJhTIACthIBBoK5jCkci2g+MwAKfOM71CcE7aoA7sR5iywZBWU0Fob7Syh+kXiA+GrazKwfBWxrGaqsnTnGjVENM11EHcK9qiv63IkkmJ7lYbW77GCPKFK20ZJ7VRjYsYASPQAwQItMbvVTF8etCkmzACuQhIsxC/oCEEGJgi5AmnSFQRtiIQCsgCK29CkW0HaVrCG56XnQltyBg1dKtP+wTRlKxbty41P6At8mHrQp84lg2LYgGFmhM80UK86IOCt1KOJcutnMCZlAj9ilt8IaCKkmoNNhgKjJJowu0IwaCIhMmgCQUvmLjnZtDEsW3IR9wTJM9bJv5VOK+6yaeYOlLHEXF4z549aR38owzLt+IfTpbBOyOLgMZaeIE8hDAgxS+PoghzXlF+iXdDuXh8qo4XX3wxHUvhOGOMMY9OOSKyopKWcI68YWwcnau65cOBwGrYf2F0Hv5e58zBaHC8apXObwTaRoAVL4he0PxmiLwcTs8oT9yIplxCjYby8N4gIGYzkXaD82hMyI92hSXGaGRkI8J5hWkgUjw2InKcxjsPgiE7STQoTNtwPhQWhfAOY6oKjZDIVpgnb9+kJA+VFmmouyAkodO00NCI4qjCMHBtR4iuGhoWUQeBzPTwZzkYAdRC9RwDkYHNQxxR4Kq4fQYhLxYRDZWjLggJxlUK2EebeeQortPHo4VAs7EDiWXcENhPJFdXztjjKwjimzc+lY/xRjBBEeiwHIHYwnD1PKRZekh+jUnVU2XL/Hg4Rw5B4U+yf9ffk+TnE3P8SvO2PgR4Lu7YsSPVWtXXSmc100c+4NAMxCtSOqv5ROnw5U+KyElYd5yHaRK0Epo+USTwsExePeH5eJ/8zcoQBRztCAQEYsISXt5zaEkgRCJQpMd9VTt8yEijorRWW5OSVghF5yEGFyz6U+Ey4KhI5UMe6tLAqDBzcor8yjJkPPqFwtpvYg/wY+eF0UwU6VXn+QqFJRP2Gwkf/nPnzs0iwyq/t6OPAA++eAzxgBYpJkpqGKUVRPgS2r9/fwoO9hr33ntvLlCHDh1qSCdYpQRSrNUHpMVfXspXdotWBO1ISEDKlnW+7iPAix4yyja2k+h+a53ViEbh0UcfTfC6Sl/rIidVeokTMwgBwhLgIq+oVeptlpd3AzYhtEk4FYR9SEoeIWpWT9V0k5KKiPECxxL59NNPr1iyfHZIByQDdbYEtTZRIxERC14U9AWDJ7QrzJUzB4iEZTl+4IEH0nS+RAk9z4N6/fr1ybJly9L0UBNDgqZ5Vq5cmZ73v6mDAKQDCccQWgyRYsba6tWrM8+RqGnD8UnZrVu3NgCG10rGGqQDogB5xniOtFDjp6lHtDUbNmxIyVFIlBsqbXHw008/pS9AvuqKlu23qManO0QgJCOqSktHdTxoW8YLU3yMe56r/SYnTKUwTYKccsopmSFqnbihCeHa8WkSepCFrEhLUkf7JiUVUR0fH09vEtbFZ599dlaaH14omo8L08J9fCjMnDkzTMr2IR0yDlIiD32mdCALiOINkI6x0yOPPJKm88LQy0NlTz31VO2m8/MMKl44zAkSu4eyaGJoV9M/fPXy4iHvqMnevXtT98nduC7UlnWod7vRt3brEOlYsGBBVgUPJ40Nxgl+QPgjnfGmaT+Nz6zg/3c0HQnpYJ6ZKaC1a9em9h2ydSKr2mD8XXrppYnsneL60LicdtppcfKkY7Q2aBAxcMUODKFuaXU4nn7kSHJGvnPJSfU5oTwCeWREpbl/8TNT50J7H9Ka5as7f7isHILbT3LCFAnGo70WyIdW4vSqbZOSNpD+5Zdfktdeey1ZsmRJVjpclpUlFuwwPxiTB7LzUEdNLpsP0sKpFYyfIBLSfKBmh5jI4x4vDBGUuHmIiMqx5UuVOXvy84OTIWJcbtSOX3755fT+deO6Nm7c2HQ+tRv196MOxlBMRknDmE3jU+MIlfLVV1+d2VdBlsPxGfYf+xGma5iWoX7+mG+mTsqhlVO9Ybm8fX4/rYKNqRyaH7SCd999d0qCICphWPgrF09P5v/RztOEVze2kD5N1eTVBzGdMSMf85iUyP4orx7S6sofEle1DTlBa4ImJf5wVB5vO0PApKQD/PCmt2XLluSWW26pXEseIaESHs7xOaZzNJ+POlFfk+SHjEAqmH7BBqRIIB6QGBEY6pXw0gmJkNJHcUvES/4skxEQ6Zh85sSqLoiFtB7kYWqFY6YNGYfx+AzrYUWa8pGOISvjDoNxxibEoayUJSSq76uvvkqNzyEmlvoRYIUTRpHNtCVMIcdkolmv4kUEzfIpvVv5n3jiiVQDqHohIoNiX6I+jeLWpKTDu/r666+Xdmddpqm8hzo2I6iyEdh77DUPxo5jGpEVzcurPexHUIOz6obVNKEmBe0I8/ciPSrj7dREgKmbkHSAAoRXhq95RtgYtbJEmHHF+MRiP/R9QB1M73CeMRpa42PjxHiFnMTtdvsO0DeIj4Kadbt+1zcZAYgHfzE5gSSWJSWTa+1NiiL0moz0Bm+1ctLxA9uOJwe369jbFgj89W//TL45MBH7Bu+QDNpmgt0IKmut6W6Wr9fpTAm1a0DY6766vdFDACIck+duXSUvQKbVWtl1qT2mb6709I3gaLnd/OGihjxVbA5ETqigqkajodGaDyCw2HB0qhkJ3bPX3OWRqH7atGl2M1/3nfz554mIwnW3VaV+E5IqaDlvtxGoi5Con//978SHg9K87T8Coeak/71p3gNsR3BQOWpG7M2veHDOePqm4r1Ajf3b7ycKsX571qxZEwnRHloUlkNajIAR6A0C+JjAWRovljJy/hx8P5zw/1Amv/N0jkC73q47b7lcDYydsuOnXI3OVRYBk5KySP0/H6Tkh6OEOj8hrDQIPbsq3VsjYAT6gwAfAjLmLtWDfduT5BuTklJYdZgJmzlWPqGBiB3wdVh1V4vjRuH2229Pp92xg8Jw19IbBExKeoOzWzECRsAITFkEREYwcEUIHTDIAmlC44aBNn/YBJqc9OaOmZT0Bme3YgSMgBGYcgjEZEQAtHJfoHz93LKIgUB0iMlJ7+6ESUlFrPEj8u9DE8ar+PqYPn1iOieubmxsLHWjPQw/wrjvPjYCw4gAKycwUsTJYRn5y/njyZ8bg3yXKeY8BQhwD4gdI81InBVXBM2cp8Wrclo5pqwrP9cQi8gJLhpWrFgRn/ZxFxAwKakI4nfffZccPDhh2Y+r7aIlwRAW2LZJSUWgnd0ItIkAL5N9+/aV9h90eC4fFfneRdvswpQvhg3GmjVrUvsRtCWx4KsmDNMRnw+P5X8pTCva71b+N954oyEcAW0SqgBCIr9RRf3wufYQMClpD7fSpdCUWIyAEegtAmHckt627NaEANMfeNBFW4Jxa0hOWBxQ1nla2Xxqt1v5CSUiCcmIYijpnLfdRcBvzA7xREti19UdgujiRqBHCFx44YX+yu0R1mpG5OShhx7KVtx89tlnOj2QW5YD4+gNAsLycjxmszUhqf92WVPSAcYMUOYzqzLzMk0SgySORROmsS/Jy8c5poyKnKSF9ZGfWCRhPBzVz1dN6OwqLqd83g4XAnn3MfS0WjTGyIe3ynhsxAiQj3FIED6kn2OMcAs33XRTGuU77qeP60dA5ATNCVoIXvxFU9/196h5CxASTdOYiDTHqY4zJiVtosqSsUsuuSSZN29eWkNMTIib0K6DIF4GxKghkqYEt/AEseIhT7RfIgMrXg3zt3v27EktxCEh5NM5ynM+jrRJ6Hjik2zevDlZtmxZ2swzzzyTBhjk4J133klwDIcQIFDxcm6++eaEKKv0wzLcCGg8hVdBDJtXXnkl2bp1a+EY4+Uey1NPPdVAXhmz1IcvH42ffo0xvnL5Q/g9hL/XOXMOJEkyHl+Oj2tCAHKyevXqgXZOxvhAq2bpPQImJW1gzpcfMRHCVTd5FuCw7XYkL1Lwjh07MqLB3CyBzMLw8vfcc0/y9NNPp0QJQhISGogERCYMC08ETL4c33vvvYyU3HHHHelKIQgHL52wDq6DdEUszvvKbudaXaY/CHD/QuJKLyARCFqxojHGOCKAXkhMiR583333NZDftWvXpoSEIH+SXo8xvsQZy4x1Cfvh8f5df0+Sn3fqtLc1I8AKFp4t8TOz5mYrVc/iBLQ5EFlIlKV3CNimpCLWWIyjIQkJScUqWmbnhRCz9F27dmVz4WhF4kjBrArCC2FelNfbbrstDQ2vhiEoRGSF1ITGZzqP1XlexFZeOnzhoDkJXzQq5+3wIJA3TkQ4uYqiMRaSEV0xZIMyEiILU9+DDz6YEhila9urMXbnnXc2EBC1723vEYCM3HXXXQkfRPPnz+99Byq0iKbkiy++SO6///7Cpc0VqnTWkghYU1ISKGX79ttv0y/KssvZVK7Kloc7yxrDKRfSWNsvQb2OQEb0guHFgFbk4osvVrZJW76Gmfr56KOP0mWTeWvx88LTb9u2La0LInPkyJFEYb0nNeCEoUCAewxpCJdPMsZWrlyZ9b/ZGGPqj3ALRYKWZP369ZktSZy3V2MMDSMvGNsFxHegd8eQEZ5l4bNm0EkJ6NBHPtr0h1t8a07qHzcmJRUxJvooar0lS5YkCxYsyErHUzWtwqYfPnw4NwKlVOjx1AkqdQxa+QJF7Y62BsH2hIe/7EJ40aAZCUWkhTReFqiuyYegho8lrw5sAq699toEtb80MnG5YTl+6aWXko8//rgr3eUlfs4553Slrl5Wgl0QJDc0ksZ3BMEjW40xtHZx3JJQewJpQTCC1TRRPN3X6RjjK7bMi42+8vtghRy2JAgvx/AFOf3IkeSM2ekp/+siAnlkRNXv3r27qWM12f4oL8uJiyenPmAAAAYmSURBVKSu/Bhyh2JyEqJR375JSZvYvvvuu+lKAowFkVZeB+Nm0DRcdNFFcXJmsxGeCB/42IBgFa6XCcaFof0HJEPnVMeWLVvSBzP18DKgPHYrEtLD1TVxHdgL8EBHQ6JyeWRG9Xk7HAjE44R7yrQdtklFYwySu2nTpoaL3LBhQ6ZlQT0fjjHGDmXC9jodY+Pj46lztJkzZzb0I++A1R78PiEm2AdAyMIX3ZWLpyfz/2jnaXnYtZsG6du7d28D+QvrGgb/Tc183UCI+QjFtnBQVw+FWA/bvklJB3eMrzAewMyTVpU8QkIdIh1hfe+//36mLn/11VdTgqHzkAke+nydorlBi8JXKQLTRzOCDQiaFFT12ISEBrLUh/dLkRJ92ap+trjs5qsnXF7MFNCwyhVXXJHwN1Ul7x5LQ8c9LhpjjB0IBWNL4+zxxx9Pye6TTz6ZGlRDbEKjamyYwum+vParjrGFCxdWun28JNGYYGNiqR8Bnkk8a3jmMHXD8yMUpphju7nwfLgfa0LCc3n73cr/2GOPNVTPisvly5enixxMRhqg6eqBSUmHcO7cubOBJHRYXfLll182kAbqw5W9omryY4+NUJlCkM0H+ZnSQcjLqhzCuOsFEhIS8jAl8+mnn2bTP19//XX6lZtWkCQJWhKWdIaEhHNMAcUaFpXxdrARwHEVmoxQ0KBpRUrRGMPAGuIL2ZUwhiAk+CBBxc2YCeWqq65K0KRI+jXGWKJPPBa+cC29QaAZOUF7VZaU9Kank1uhj4jJyGRs6kw56fiBbceTg9vrbGOk6v7r3/6ZfHNgIvYN6uAi1ox6+YYbbkhDX48UEL4YIzCgCKBa37hxY9LKrkvdZ/rmSk/fCI6W280fLmrIc+uttzYcFx2gsUJzgnZ23bp1RVn7eo7+MeXXqWYktkvp60UNQePTpk1LrCmpeKNYCjxjxklZqdmzZxeSErwW1rl8OOuId4yAEcgQOHbsWMJvs4xMnz7xey6T33naR0CaE8jJIHt05UOTKcWiD872UXDJIgRMSorQyTmHl9PD/zk5O3PZZZe1fPiF3iOzgt4xAkagFgT4veFTp6yc8dM/7DytLFhdyAcZwR5v6dKlXaitnipYHQlx8rO7HnyLajUpKUIn59yZZ56ZzDpKqPMTct5556VLH3XsrREwAv1HoNLLZN+/kuSEM9v+d3yEewAZefPNN5Pt27eny7nxij2ogkaHBQznnntuaqxbaTwN6kUNSb9MSobkRrmbRsAIGIFhRCAkI2ggkAsuuGCgLwXjVggJ9kn8QUpYSWRyUv9tMympH2O3YASMgBGYcgjkkRGBMAwroOgjhAQxOdGdq39rUlI/xm7BCBgBIzClEMAeg9UrbPOkyNnkCy+80FDkuuuuaziOD+rOH7YncoI9DH5YLN1HwKSk+5i6RiNgBIzAlEYAmwyW/GI/gh0JWpNQiBBcdiokJh1hPXn73cr/3HPPNQQypS2ui2mcQTbSzcNkmNJMSobpbrmvRsAIGIEhQQC7jBUrVqS+PmJyQsiKQRd8lUhMRoRE/VuTkvoxdgtGwAgYgSmLQB45ISDf4sWLBxYTNDtM1ZiM9P4WmZT0HnO3aASMgBGYcgiE5IRI64Msn3/+ebJq1SpP0/ThJpmU9AF0N2kEjIARmKoIQE6IlzTIUtbeZZCvYVj7NjasHXe/jYARMAJGwAgYgdFCwKRktO6nr8YIGAEjYASMwNAiYFIytLfOHTcCRsAIGAEjMFoImJSM1v301RgBI2AEjIARGFoETEqG9ta540bACBgBI2AERgsBk5LRup++GiNgBIyAETACQ4uAScnQ3jp33AgYASNgBIzAaCFgUjJa99NXYwSMgBEwAkZgaBEwKRnaW+eOGwEjYASMgBEYLQRMSkbrfvpqjIARMAJGwAgMLQImJUN769xxI2AEjIARMAKjhYBJyWjdT1+NETACRsAIGIGhRcCkZGhvnTtuBIyAETACRmC0EJiWzPpdkpy+PLuqH374Ifnxxx+zY+80IrDgD39Ifjk+I0ucMWNiP0v0jhEwAsODwG9+39BXPwMb4Jh0sGjRoklpTshHYGxsLPn111/zTzp1EgLg9T9Co3M22dCO7AAAAABJRU5ErkJggg=="
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import spinal.lib.bus.amba3.ahblite._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Top extends Component{    \n",
    "  val ahbConfig = AhbLite3Config(\n",
    "    addressWidth = 12,\n",
    "    dataWidth    = 32\n",
    "  )\n",
    "  val ahbX = slave(AhbLite3(ahbConfig))\n",
    "  val ahbY = slave(AhbLite3(ahbConfig))\n",
    "  val ahbZ = master(AhbLite3(ahbConfig))\n",
    "  ahbX.HRDATA := 0\n",
    "  ahbY.HRDATA := 0\n",
    "  ahbX.HREADYOUT := False\n",
    "  ahbY.HREADYOUT := False\n",
    "  ahbX.HRESP := False\n",
    "  ahbY.HRESP := False    \n",
    "  when(ahbY.HSEL){\n",
    "    //...\n",
    "      ahbZ <> ahbY\n",
    "  }.otherwise{\n",
    "      ahbZ <> ahbX\n",
    "  }\n",
    "}\n",
    "showRtl(new Top)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### AhbToApb3 Bridge\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import spinal.lib.bus.amba3.apb._\n",
    "import spinal.lib.bus.amba3.ahblite._\n",
    "\n",
    "class Top(ahbConfig:AhbLite3Config, apbConfig:Apb3Config) extends Component{\n",
    "    val ahb = slave(AhbLite3(ahbConfig))\n",
    "    val apb = master(Apb3(apbConfig))\n",
    "    val bridge = AhbLite3ToApb3Bridge(ahbConfig,apbConfig)\n",
    "    ahb <> bridge.io.ahb\n",
    "    apb <> bridge.io.apb\n",
    "}\n",
    "\n",
    "showRtl(new Top(AhbLite3Config(16,32),Apb3Config(16,32)))"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## AXI\n",
    "### AXI crossBar\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import spinal.lib.bus.amba4.axi._ \n",
    "\n",
    "showRtl(Axi4SharedDecoder(\n",
    "  axiConfig = Axi4Config(16,32,4),\n",
    "  readDecodings = List((0x0000, 64    ),\n",
    "                       (0x1000, 1 KiB ),\n",
    "                       (0x2000, 3 KiB )),\n",
    "  writeDecodings = List((0x3000, 3 KiB ),\n",
    "                        (0x4000, 3 KiB )), \n",
    "  sharedDecodings = List((0x5000, 2 KiB),\n",
    "                         (0x6000, 1 KiB) )\n",
    "))"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " ![image.png](attachment:image.png)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import spinal.lib.bus.amba3.apb._\n",
    "import spinal.lib.bus.amba4.axi._\n",
    "\n",
    "class Top(aw: Int,dw: Int,iw: Int) extends Component{\n",
    "  val axi = slave(Axi4Shared(Axi4Config(aw,dw,iw)))\n",
    "  val apb = master(Apb3(Apb3Config(aw,dw)))\n",
    "  val bridge = Axi4SharedToApb3Bridge(aw,dw,iw)\n",
    "  axi <> bridge.io.axi\n",
    "  apb <> bridge.io.apb\n",
    "}\n",
    "\n",
    "showRtl(new Top(20,32,2))"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Address-Mapping\n",
    "### Bram-bus address allocate\n",
    "\n",
    " /** Address incrementation used by the read and write multi words registers */  \n",
    "  def wordAddressInc: Int = busDataWidth / 8\n",
    "  \n",
    "  ![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import spinal.lib.bus.bram._\n",
    "//showRtl(new BRAMDecoder(BRAMConfig(32,16),List((0x00,20),(0x1000,1 MiB))))\n",
    "class Top extends Component{    \n",
    "    val din  = slave(BRAM(BRAMConfig(32,16)))\n",
    "    val do1  = master(BRAM(BRAMConfig(32, 8)))\n",
    "    val do2  = master(BRAM(BRAMConfig(32,12)))    \n",
    "    val do3  = master(BRAM(BRAMConfig(32,12)))      \n",
    "    val do4  = master(BRAM(BRAMConfig(32,2)))\n",
    "    \n",
    "val brammux = BRAMDecoder(din, List(do1 ->  (0x00,  4 KiB ),\n",
    "                                    do2 ->  (0x1000,3 MiB),                                   \n",
    "                                    do3 ->  (0x2000,2 MiB),                                   \n",
    "                                    do4 ->  (0x3000,20 KiB)))  \n",
    "}\n",
    "showRtl(new Top)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import spinal.lib.bus.bram._\n",
    "//showRtl(new BRAMDecoder(BRAMConfig(32,16),List((0x00,20),(0x1000,1 MiB))))\n",
    "class Top(w: Int) extends Component{    \n",
    "    val din  = slave(BRAM(BRAMConfig(w,12)))\n",
    "    val do1  = master(BRAM(BRAMConfig(w,10)))\n",
    "    val do2  = master(BRAM(BRAMConfig(w,10))) \n",
    "    \n",
    "val brammux = BRAMDecoder(din, List(do1 ->  (0x00000,1 KiB),\n",
    "                                    do2 ->  (0x10000,3 KiB))) \n",
    "}\n",
    "showRtl(new Top(8))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Scala",
   "language": "scala",
   "name": "scala"
  },
  "language_info": {
   "codemirror_mode": "text/x-scala",
   "file_extension": ".scala",
   "mimetype": "text/x-scala",
   "name": "scala",
   "nbconvert_exporter": "script",
   "version": "2.12.8"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
